假设我有这两个功能:
public void Test(int Param1)
{
//do something
}
public void Test(int Param1, int Param2 = 1)
{
//do something
}
如果我执行这个:Test(2)
编译器如何知道要执行哪个函数?它可以是它们中的任何一个:第一个只接受 1 个参数或第二个接受 1 或 2 个参数。
事实上,我很惊讶上面的代码甚至可以编译。