集合是一組不重複的值。集合在 .NET 中的預設實作是 HashSet<T>。
HashSet類別會使用每個元素的 GetHashCode()方法。
預設情況下,參考型別的 GetHashCode() 實作會回傳其記憶體位置的雜湊碼。這表示不同的參考型別物件會有不同的雜湊碼(這稱為參考相等性)。實值型別預設會回傳其欄位/屬性的雜湊碼。這表示具有相同欄位/屬性值的不同實值型別物件,會有相同的雜湊碼(這稱為結構相等性)。
你可以覆寫自己類別上的 GetHashCode() 實作,藉此讓參考型別具有結構相等性。