为什么这不是一个模棱两可的电话?

时间:2015-11-27 15:30:56

标签: c#

出于好奇,为什么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");
    }
}

由于Log(object)Log(string)都接受null作为参数,我希望编译器给出一个模糊的调用错误,而是选择调用Log(string)。为什么不Log(object)

0 个答案:

没有答案