函数之间的模糊调用错误

时间:2013-03-04 05:26:58

标签: c# nullable

我在接受采访时得到了这个问题,现在我知道我给出了错误的答案。 为什么这个程序在函数之间显示模糊的调用,因此没有编译?

public static void Display(int? num) {
    Console.WriteLine(num);
}

public static void Display(string num) {
    Console.WriteLine(num);
}

static void Main() {
    Display(1);
    Display("1");
    Display(null);

    Console.ReadLine();
}

1 个答案:

答案 0 :(得分:7)

此声明Display(null);可以解释为Display(nullable int with null value)Display(string with null value)。因此,模糊的呼叫错误。