1

我在面试中得到了这个问题,现在我知道我给出了错误的答案。为什么这个程序在函数之间显示不明确的调用,因此无法编译?

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();
}
4

1 回答 1

7

该语句 Display(null);可以解释为Display(nullable int with null value)Display(string with null value)。因此,模棱两可的调用错误。

于 2013-03-04T05:30:31.297 回答