Equals() 比較**值**是否相等。Equals() 比較**參考位址**是否相同。範例:
ClassPerson clsX = new ClassPerson();
clsX.LastName = "Bejaoui"; clsX.FirstName = "Bechir";
ClassPerson clsY = new ClassPerson();
clsY.LastName = "Bejaoui"; clsY.FirstName = "Bechir";
if (clsX.Equals(clsY)) Console.WriteLine("clsX = clsY"); // 輸出 clsX != clsY
兩個不同物件,參考位址不同,故 false。若改為 clsY = clsX,則參考相同,回傳 true。
Equals() 自訂邏輯,**必須同時覆寫 GetHashCode()**。ReferenceEquals() 比較參考位址。== 運算子。Equals() 與 ReferenceEquals() 均回傳 true。