自訂類別的Equals() 和GetHashCode() 的正確實作
為您的RecommendationDTO 類別有效利用方法,您需要重寫Equals() 和GetHashCode()方法。
Equals() 方法:
Equals() 方法判斷兩個物件是否有相同的值。這是更新的實作:
public override bool Equals(object obj) { var item = obj as RecommendationDTO; if (item == null) { return false; } return this.RecommendationId.Equals(item.RecommendationId); }
GetHashCode()方法:
GetHashCode() 方法產生物件的雜湊碼。這用於更快的物件比較和查找。這是更新的實作:
public override int GetHashCode() { return this.RecommendationId.GetHashCode(); }
透過像這樣重寫 Equals() 和 GetHashCode(),您可以確保 LINQ 的 except() 方法將根據RecommendationId 值準確識別並排除重複的RecommendationDTO 物件。
以上是如何正確重寫 Equals() 和 GetHashCode() 以獲得高效率的 LINQ except()?的詳細內容。更多資訊請關注PHP中文網其他相關文章!