出于好奇,为什么Log(null)在这种情况下不是一个模棱两可的电话?
class Program
{
static void Main(string[] args)
{
Log(null); // Output is "String"
}
static void Log(object value)
{
Console.WriteLine("Object");
}
static void Log(string value)
{
Console.WriteLine("String");
}
}
Run Code Online (Sandbox Code Playgroud)
由于这两个Log(object)和Log(string)接受null作为参数我期待编译器给我一个模棱两可的调用错误,而是它选择调用Log(string).为什么不Log(object)呢?
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |