我在C#中运行了以下方法.
public float Add(float num1, long num2)
{
Console.WriteLine("method 1");
return 0;
}
public float Add(int num1, float num2)
{
Console.WriteLine("method 2");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这里,如果我打电话Add(1,1),它会给出歧义.现在让我掉的位置float,并long在第一种方法如下:
public float Add(long num1, float num2)
{
Console.WriteLine("method 1");
return 0;
}
public float Add(int num1, float num2)
{
Console.WriteLine("method 2");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在它打印"方法2"作为输出.第一种情况模棱两可的原因是什么?
如果我在我的代码中编写以下两种方法:
public float Add(long num1, long num2)
{
Console.WriteLine("method 1");
return 0;
}
public float Add(int num1, float num2)
{
Console.WriteLine("method 2");
return …Run Code Online (Sandbox Code Playgroud)