【发布时间】:2011-11-22 15:14:19
【问题描述】:
可能重复:
C#: Passing null to overloaded method - which method is called?
考虑这两种方法:
void Method(object obj) { Console.WriteLine("object"); }
void Method(int[] array) { Console.WriteLine("int[]"); }
当我尝试打电话时:
Method(null);
在 Visual Studio 2008 SP1 中,我得到 int[]。
这是为什么?
【问题讨论】:
-
他可能会问为什么编译器偏爱这种重载。
-
他的问题是为什么重载解析将 null 解析为采用 int 数组的方法而不是采用 object 的方法。
标签: c#