c# - 方法重载和空值

标签 c#

<分区>

Possible Duplicate:
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 可转换为 objectint[]。因此,编译器会选择最具体的版本,因为 int[]object 更具体。

关于c# - 方法重载和空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229105/

相关文章:

c# - 使用 Tweetsharp 更新推特状态时应该使用 HtmlEncode 吗?

c# - 将文件路径转换为字符串

c# - 以较小的文件大小将MP3转换为WAV

c# - 使用 Linq To SQL 搜索字段中的多个字符串

c# - 如何在 .NET 中为 SmtpClient 对象设置用户名和密码?

c# - 为什么传递给 Uri.MakeRelativeUri 的 Uri 中的冒号 ":"会导致异常?

c# - 如何在c#中保存图像流?

c# - 管理一次性类依赖注入(inject)

c# - 从 UITableView 中删除一个部分。 NSIndexSet 参数?

c# - 在 Windows Phone 中更改图像的来源