==運算符與基元類型
我們分別用兩種方式比較兩個整數(shù),第一個使用的是Equals(int)
方法,每二個使用的是==運算符:
1 class Program 2 { 3 static void Main(String[] args) 4 { 5 int num1 = 5; 6 int num2 = 5; 7 8 Console.WriteLine(num1.Equals(num2)); 9 Console.WriteLine(num1 == num2);10 }11 }
運行上面的示例,兩個語句出的結(jié)果均為true
。我們通過ildasm.exe工具進行反編譯,查看IL代碼,了解底層是如何執(zhí)行的。
如果您以前從來沒有接觸過IL指令,不過沒關(guān)系,在這里您不需要理解所有的指令,我們只是想了解這兩個比較方式的差異。
您可以看到這樣一行代碼:
1 IL_0008: call instance bool [mscorlib]System.Int32::Equals(int32)
在這里調(diào)用的是
網(wǎng)友評論