La meilleure façon de comparer deux grandes listes de chaînes, en utilisant C # et LINQ?
J'ai une grande liste (~ 110 000 de chaînes de caractères), j'ai besoin de comparer pour une même taille de la liste.
Liste provient des 1 système.
Liste B vient d'une table SQL (je ne peux que lire, pas stockées procs, etc)
Quelle est la meilleure façon de trouver quelles sont les valeurs qui sont dans la liste A, qui n'existe plus dans la liste B?
Est de 100 000 chaînes de caractères un grand nombre pour être traitées dans un tableau?
grâce
source d'informationauteur Donaldinio
Vous devez vous connecter pour publier un commentaire.
Vous avez donc deux listes:
Ensuite utiliser
Énumérable.À l'exception de
:Noter que si vous souhaitez, par exemple, ignorer la casse:
Vous pouvez remplacer le dernier paramètre avec une
IEqualityComparer<string>
de votre choix.Avec LINQ:
D'intérêt, vous devez utiliser
List<string>
? Parce que dans .net 3.5 SP1, vous pouvez utiliser le HashSet et c'est ExceptWith méthode. À ma connaissance, HashSets sont spécialement optimisés pour les comparaisons entre les deux Ensembles.Voler cette questionil semble que vous pouvez utiliser le
Except<T>()
méthode.