==運(yùn)算符與基元類(lèi)型
我們分別用兩種方式比較兩個(gè)整數(shù),第一個(gè)使用的是Equals(int)
方法,每二個(gè)使用的是==運(yùn)算符:
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 }
運(yùn)行上面的示例,兩個(gè)語(yǔ)句出的結(jié)果均為true
。我們通過(guò)ildasm.exe工具進(jìn)行反編譯,查看IL代碼,了解底層是如何執(zhí)行的。
如果您以前從來(lái)沒(méi)有接觸過(guò)IL指令,不過(guò)沒(méi)關(guān)系,在這里您不需要理解所有的指令,我們只是想了解這兩個(gè)比較方式的差異。
您可以看到這樣一行代碼:
1 IL_0008: call instance bool [mscorlib]System.Int32::Equals(int32)
在這里調(diào)用的是
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式