Laissez-moi commencer par dire que je l'ai lu ces questions: 1 & 2, et je comprends que je peux écrire le code pour trouver des doublons dans ma liste, mais mon problème est que je veux mettre à jour la liste d'origine non seulement interroger et imprimer les doublons.Comment trouver les doublons dans une liste <T> rapidement, et mettre à jour la collection originale
Je sais que je ne peux pas mettre à jour la collection renvoyée par la requête car ce n'est pas une vue, c'est un type anonyme IEnumerable<T>
.
Je veux être en mesure de trouver des doublons dans ma liste, et marquer une propriété que j'ai créée appelée State
qui est utilisée plus tard dans l'application.
Est-ce que quelqu'un a rencontré ce problème et pouvez-vous me diriger dans la bonne direction?
p.s. L'approche que j'utilise ATM est une boucle de type de tri à bulles pour parcourir la liste élément par élément et comparer les champs clés. Évidemment, ce n'est pas la méthode la plus rapide.
EDIT:
Afin d'examiner un élément dans la liste un « double », il y a trois domaines qui doivent correspondre. Nous les appellerons Field1, Field2 et Field3
J'ai une méthode Equals() surchargée sur la classe de base qui compare ces champs.
La seule fois où je saute un objet dans ma méthode MarkDuplicates()
, c'est si l'état des objets est UNKNOWN
ou ERROR
, sinon, je le teste. Faites-moi savoir si vous avez besoin de plus de détails.
Merci encore!
s'il vous plaît ne pas utiliser BubbleSort, ... jamais! –