IL을 비교해 보았습니까 (예 : Reflector)?
static double A(int numerator, int denominator)
{ return (double)numerator/denominator; }
static double B(int numerator, int denominator)
{ return numerator/(double)denominator; }
static double C(int numerator, int denominator)
{ return (double)numerator/(double)denominator; }
될 세 (이름을 제공하거나 소요)
:
.method private hidebysig static float64 A(int32 numerator, int32 denominator) cil managed
{
.maxstack 8
L_0000: ldarg.0 // pushes numerator onto the stack
L_0001: conv.r8 // converts the value at the top of the stack to double
L_0002: ldarg.1 // pushes denominator onto the stack
L_0003: conv.r8 // converts the value at the top of the stack to double
L_0004: div // pops two values, divides, and pushes the result
L_0005: ret // pops the value from the top of the stack as the return value
}
그래서 더 : 정확히 제로 차이가 없다.