Maison >développement back-end >C++ >Comment supprimer efficacement des éléments d'une liste qui existent dans une autre ?
Supprimer un élément d'une liste présent dans une autre liste
La tâche consiste à parcourir une liste générique et à supprimer les éléments contenus dans une autre liste. Considérez le scénario hypothétique suivant :
<code>List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList();</code>
L'objectif est d'utiliser une boucle foreach pour parcourir la liste1 et supprimer tous les éléments également présents dans la liste2. Cependant, la boucle foreach n'est pas basée sur un index, ce qui complique la tâche.
Solution utilisant la méthode Except
Pour relever ce défi, nous pouvons utiliser la méthode Except, qui exclut les éléments d'une liste qui sont présents dans une autre liste :
<code>List<car> result = list2.Except(list1).ToList();</code>
Cela créera un nouveau résultat de liste contenant des éléments de la liste2 qui ne sont pas présents dans la liste1. On peut même simplifier le code en éliminant les variables temporaires :
<code>List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Il est important de noter qu'Except générera une nouvelle liste sans modifier aucune des listes d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!