Comparez la différence entre deux listes & lt; string & gt;
J'ai essayer de vérifier la différence entre les deux List<string>
dans c#
.
Exemple:
List<string> FirstList = new List<string>();
List<string> SecondList = new List<string>();
La FirstList
est rempli avec les valeurs suivantes:
FirstList.Add("COM1");
FirstList.Add("COM2");
La SecondList
est rempli avec les valeurs suivantes:
SecondList.Add("COM1");
SecondList.Add("COM2");
SecondList.Add("COM3");
Maintenant, je veux vérifier si certaines valeurs dans le SecondList
sont égales à une des valeurs dans la FirstList
.
Si il y a égalité des valeurs comme: COM1 et COM2, qui sont dans les deux listes, puis les filtrer à partir de la liste et ajouter le reste des valeurs d'une autre liste.
Donc, si je créer un nouveau ThirdList
il sera rempli avec "COM3" seulement, parce que les autres valeurs sont des doublons.
Comment puis-je créer un tel contrôle?
source d'informationauteur Max
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser Sauf extension LINQ méthode, qui prend seulement les éléments de la première liste, qui ne sont pas présents dans le second. L'exemple est donné ci-dessous:
Vous pouvez imprimer le résultat en utilisant le code suivant:
Ou
Remarque: N'oubliez pas d'inclure:
using System.Diagnostics;
imprime:
Vous pouvez utiliser
Énumérable.Intersect
:ou pour détecter des chaînes qui ne sont que dans une des deux listes,
Énumérable.À l'exception de
:Pour obtenir votre
ThirdList
:Que pour ce roi de reuqirement vous pouvez faire usage de
Except
fonction.ou vous pouvez le faire , de sorte que le dessous d'un créer une nouvelle liste de trois qui contient des éléments qui ne sont pas communs dans la liste 1 et liste 2
ci-dessus, on est de l'aide totale lorsque list1 et list2 a differenct élément comme
La FirstList est rempli avec les valeurs suivantes:
La SecondList est rempli avec les valeurs suivantes:
en utilisant le code ci-dessus
list3 contains COM4 and COM3.