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