使用此方法声明(无重载):
void Method(double d)
{
// do something with d
}
之间在运行时是否存在(性能)差异
void Main()
{
Method(1);
Method(1.0);
}
或编译器是否自动将int文字转换为double?
答案 0 :(得分:7)
编译器会隐式地将int转换为double。
不会受到处罚。
答案 1 :(得分:2)
我刚尝试过。 C#3.0为您的第一次调用生成以下IL:
ldc.r8 1.
call instance void ConsoleApplication1.Program::Method(float64)
所以,没有运行时转换。