對比C 中 與equal方法

2021-06-16 12:02:14 字數 838 閱讀 5954

c#中equal與==的區別 收藏 

對於值型別,如果物件的值相等,則相等運算子 (==) 返回 true,否則返回 false。對於string 以外的引用型別,如果兩個物件引用同乙個物件,則 == 返回 true。對於 string 型別,== 比較字串的值。

==操作比較的是兩個變數的值是否相等。

equals()方法比較的是兩個物件的內容是否一致.==也就是比較引用型別是否是對同乙個物件的引用。

例子:using system;

using system.collections.generic;

using system.linq;

using system.text;

object g = a;

object h = b;

console.writeline(g == h);

console.writeline(g.equals(h));

person p1 = new person("jia");

person p2 = new person("jia");

console.writeline(p1 == p2);

console.writeline(p1.equals(p2));

person p3 = new person("jia");

person p4 = p3;

console.writeline(p3 == p4);

console.writeline(p3.equals(p4));

console.readline();}}

}輸出true,true,false,true,false,false,true,true。

C 中equal與 的區別

轉 c 中,判斷相等有兩種方式,一種是傳統的 操作,一種是object提供的equals方法。二者的區別在於 一 操作符判斷的是堆疊中的值,equlas判斷的是堆中的值。c 提供值型別和引用型別,值型別儲存在棧上,故用 判斷是直接判斷其值是否相等,因為值型別不存在堆中的資料,因此值型別的equals...

C 中equal與 的區別

c 中,判斷相等有兩種方式,一種是傳統的 操作,一種是object提供的equals方法。二者的區別在於 一 操作符判斷的是堆疊中的值,equlas判斷的是堆中的值。c 提供值型別和引用型別,值型別儲存在棧上,故用 判斷是直接判斷其值是否相等,因為值型別不存在堆中的資料,因此值型別的equals也是...

C 中Equal與 的使用原則

equal與 都可以被重寫,但要把握的原則是 重寫equal來表示值相等,而不重寫 繼續讓其表示引用相同 class person public string id public override bool equals object obj 這裡要注意,一定要重寫gethashcode 方法 否則...