Korrekte Implementierung von Equals() und GetHashCode() für benutzerdefinierte Klassen
Um die LINQ Except()-Methode für Ihre RecommendationDTO-Klasse effektiv zu nutzen , müssen Sie Equals() und GetHashCode() überschreiben. Methoden.
Equals()-Methode:
Die Equals()-Methode bestimmt, ob zwei Objekte den gleichen Wert haben. Hier ist eine aktualisierte Implementierung:
public override bool Equals(object obj) { var item = obj as RecommendationDTO; if (item == null) { return false; } return this.RecommendationId.Equals(item.RecommendationId); }
GetHashCode() Methode:
Die GetHashCode()-Methode generiert einen Hash-Code für ein Objekt. Dies wird für einen schnelleren Objektvergleich und eine schnellere Suche verwendet. Hier ist eine aktualisierte Implementierung:
public override int GetHashCode() { return this.RecommendationId.GetHashCode(); }
Durch das Überschreiben von Equals() und GetHashCode() wie folgt können Sie Stellen Sie sicher, dass die Except()-Methode von LINQ doppelte RecommendationDTO-Objekte basierend auf ihren RecommendationId-Werten genau identifiziert und ausschließt.
Das obige ist der detaillierte Inhalt vonWie überschreibe ich Equals() und GetHashCode() für effizientes LINQ Except() korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!