Csharp/C#教程:使用可选参数重载方法分享


使用可选参数重载方法

我有一个类如下,有两个重载方法。

Class A { public string x(string a, string b) { return "hello" + a + b; } public string x(string a, string b, string c = "bye") { return c + a + b; } } 

如果我从具有两个参数的另一个类调用方法x ,那么将执行哪个方法以及为什么? 即

 string result = new A().x("Fname", "Lname"); 

我在我的控制台应用程序中测试了这个,并且执行了2个参数的方法。 有人可以解释一下吗?

使用命名和可选参数会影响重载解析:

如果判断两个候选者同样好,则优先选择没有可选参数的候选者,该参数在调用中被省略。 这是对具有较少参数的候选者的重载分辨率的一般偏好的结果。

参考: MSDN


使用2个参数string x(string a,string b)隐含上述规则方法将被调用。

注意:如果两个重载方法都有可选参数,那么编译器将给出编译时模糊错误。

如果使用两个参数调用Method,则它将Method与两个Parameters一起使用。 如果你打电话给三人,它会使用另一个。

它将始终执行首先匹配完全没有参数的方法 ,在您的情况下它将执行:

可选参数方法优先级小于具有精确无参数的函数

上述就是C#学习教程:使用可选参数重载方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public string x(string a, string b); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957078.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐