一,引用類型相等比較:
共四種比較方法:
1:ReferenceEquals()方法,靜態方法,測試兩個引用是否指定同一個對象。而且認為null等於null。
1 Class1 x,y;
2 x = new Class1();
3 y = new Class1();
4 bool B1 = ReferenceEquals(null,null);//true
5 bool B2 = ReferenceEquals(null,x);//false
6 bool B3 = ReferenceEquals(x,y);//false
2:虛擬的Equals()方法,虛擬的,可以重寫,按值比較對象。
3:靜態的Equals()方法,兩個參數,對他們進行比較(和虛擬Equals()區別)。
4:比較運算符==,可以看作嚴格值比較和嚴格引用比較之間的中間選項。
二,值類型相等比較:
理論上值比較可以和飲用比較用相同的方法,只不過值類型需要一個裝箱的過程。但是,在裝箱過程中,每個值都是單獨裝箱的,
所以用RefernceEqual()比較值類型的話總是返回false,是沒有意義的。
總結:通過了解飲用類型和值類型,可以理解上面的工作原理。現在對Equals()的概念還有點模糊,希望在應用中能夠理解。