1

假设我有这两个功能:

    public void Test(int Param1)
    {
        //do something
    }

    public void Test(int Param1, int Param2 = 1)
    {
        //do something
    } 

如果我执行这个:Test(2)

编译器如何知道要执行哪个函数?它可以是它们中的任何一个:第一个只接受 1 个参数或第二个接受 1 或 2 个参数。

事实上,我很惊讶上面的代码甚至可以编译。

4

0 回答 0