我在接受采访时得到了这个问题,现在我知道我给出了错误的答案。 为什么这个程序在函数之间显示模糊的调用,因此没有编译?
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();
}
答案 0 :(得分:7)
此声明Display(null);
可以解释为Display(nullable int with null value)
或Display(string with null value)
。因此,模糊的呼叫错误。