使用可选参数冲突重载方法
我有两个重载方法,一个带有可选参数。
void foo(string a) { } void foo(string a, int b = 0) { }
现在我打电话给:
foo("abc");
有趣的是第一次重载被调用。为什么第二次重载的可选值设置为零?
说实话,我希望编译器带来一个错误,至少是一个警告,以避免无意中执行错误的方法。
这种行为的原因是什么?为什么C#团队以这种方式定义它?
墨色风雨
相关分类