程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#學習:對象的相等比較

C#學習:對象的相等比較

編輯:關於C#

一,引用類型相等比較:

共四種比較方法:

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()的概念還有點模糊,希望在應用中能夠理解。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved