22 votes

Comparer deux listes de C#, linq

Disons que j'ai deux listes de chaînes de caractères:

List1: "Pig, Monkey, Dog"

List2: "Pig, Monkey, Snake"

Je voudrais comparer List1 avec la liste 2 pour extraire les chaînes de la Liste 1 qui ne correspondent PAS à la liste 2. Dans ce cas, ce serait:

Result: "Dog"

Comment puis-je faire cela en C# avec linq? De deux List<String>?

51voto

Nikhil Agrawal Points 19567

Utiliser à l'Exception de la Méthode de LINQ.

List<string> result = list1.Except(list2).ToList();

Il produit de la différence de deux séquences en utilisant le comparateur d'égalité par défaut pour comparer les valeurs.

10voto

Tilak Points 13095
List<string> result = list1.Except(list2).ToList();

Pour ce sceneario, explorer l'Exception

Pour l'ensemble des opérations, d'explorer Ensemble des Opérations Distinctes, à l'Exception, Intersection, Union

Pour les activités Générales (filtrage, de regroupement, de tri, des projections, des transformations), commencez ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X