C 判斷兩個物件是否相等

2021-07-05 16:17:54 字數 763 閱讀 2300

首先在c#中判斷物件相等,是對於引用型別的,兩個 物件用==,只是判斷他們的記憶體位址是否一樣

對於字串或者數值,判斷相等只需要用==運算

引用型別

1.對乙個類只是例項化一次

向那些只有賦值沒有new例項化乙個物件的話,拿這些物件指的都是乙個位址

people p1=newpeople();

people p2=p1;

people p3;

p3=p2;

則這些p1,p2,p2,完全指向是乙個記憶體位址,他們是同乙個物件,所有用==或者equal方法判斷都是返回true

2.對乙個類例項化多次但是每次例項化的初值都是一樣的

申明兩個物件,每個物件都例項化一次,並且把每個類的資料即欄位或者屬性都是設定統一初始值

people p1=new people();

p1.name="haha";

people p2=new people();

p2.name="haha";

假設people類只有乙個屬性就是name,那我們將兩個物件都例項化了,但是p1==p2得到的是false,則物件用==運算子,只是對物件名的引用位址就行比較,因為兩次例項化,在記憶體空間就分配了不一樣的空間,即不同的位址,儘管他們內容中的資料是一樣的

兩個記憶體位址相等,那麼他們就是兩個物件實質上為同一物件,只是這兩個物件在程式中擁有不同的名字如果比較不同物件是否相等(不是指位址相等),就重寫object物件的equal方法,在裡面具體判斷兩個物件的資料是否相等

c 如何判斷兩個物件是否相等

在c 中判斷物件相等,這是對引用型別進行判斷,而不是對值型別,如果是對字串,或者是數值進行判斷相等只需要用 運算子就可以了。對兩個物件用 運算子,只能判斷他們兩個在記憶體中的位址是否一樣的。1.對乙個類只例項化一次 向那些賦值來賦值去的引用如果沒有new例項化乙個物件的話,那麼這些賦值來,賦值去的物...

c 如何判斷兩個物件是否相等

在c 中判斷物件相等,這是對引用型別進行判斷,而不是對值型別,如果是對字串,或者是數值進行判斷相等只需要用 運算子就可以了。對兩個物件用 運算子,只能判斷他們兩個在記憶體中的位址是否一樣的。1.對乙個類只例項化一次 向那些賦值來賦值去的引用如果沒有new例項化乙個物件的話,那麼這些賦值來,賦值去的物...

js 判斷兩個物件是否相等

判斷兩個物件是否相等 isobjectvalueequal function a,b var aprops object.getownpropertynames a var bprops object.getownpropertynames b if aprops.length bprops.len...