カスタム クラスの Equals() と GetHashCode() の正しい実装
RecommendationDTO クラスの LINQ Except() メソッドを効果的に利用するには、Equals() と GetHashCode() をオーバーライドする必要があります。 messages.
Equals() メソッド:
Equals() メソッドは、2 つのオブジェクトが同じ値を持つかどうかを判断します。更新された実装は次のとおりです。
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 オブジェクトを正確に識別して除外することを保証します。値。
以上が効率的な LINQ Except() のために Equals() と GetHashCode() を正しくオーバーライドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。