Méthode Equals de Système.Les Collections.Génériques.Liste<T>...?
Je crée une classe qui dérive de la Liste...
public class MyList : List<MyListItem> {}
J'ai surchargé Égale de MyListItem...
public override bool Equals(object obj)
{
MyListItem li = obj as MyListItem;
return (ID == li.ID); //ID is a property of MyListItem
}
Je voudrais avoir une méthode Equals dans le Maliste objet qui permettra de comparer chaque élément de la liste, l'appel de Equals() sur chaque MyListItem objet.
Il serait agréable de simplement appeler...
MyList l1 = new MyList() { new MyListItem(1), new MyListItem(2) };
MyList l2 = new MyList() { new MyListItem(1), new MyListItem(2) };
if (l1 == l2)
{
...
}
...et les comparaisons de la liste se fait par valeur.
Quelle est la meilleure façon...?
OriginalL'auteur Sambo | 2010-03-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser SequenceEqual méthode linq sur la liste depuis votre liste implémente l'interface IEnumerable. Ceci permettra de vérifier tous les éléments sont les mêmes et dans le même ordre. Si l'ordre peut être différent, vous pouvez trier les listes de la première.
OriginalL'auteur bkaid
OriginalL'auteur Amit