Implémentation correcte de Equals() et GetHashCode() pour la classe personnalisée
Pour utiliser efficacement la méthode LINQ Except() pour votre classe RecommendationDTO , vous devrez remplacer les méthodes Equals() et GetHashCode().
Equals() Méthode :
La méthode Equals() détermine si deux objets ont la même valeur. Voici une implémentation mise à jour :
public override bool Equals(object obj) { var item = obj as RecommendationDTO; if (item == null) { return false; } return this.RecommendationId.Equals(item.RecommendationId); }
GetHashCode() Méthode :
La méthode GetHashCode() génère un code de hachage pour un objet. Ceci est utilisé pour une comparaison et une recherche d’objets plus rapides. Voici une implémentation mise à jour :
public override int GetHashCode() { return this.RecommendationId.GetHashCode(); }
En remplaçant Equals() et GetHashCode() comme ceci, vous assurez-vous que la méthode Except() de LINQ identifiera et exclura avec précision les objets RecommendationDTO en double en fonction de leurs valeurs RecommendationId.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!