J'essaie de comprendre comment parcourir une liste générique d'éléments que je veux supprimer d'une autre liste d'éléments.
Alors disons que j'ai ceci comme exemple hypothétique
List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
Je veux parcourir la liste 1 avec un foreach et supprimer chaque élément de la liste 1 qui est également contenu dans la liste 2.
Je ne suis pas sûr de savoir comment procéder, car foreach n'est pas basé sur un index.
1 votes
Vous voulez supprimer les éléments de la liste 1 qui se trouvent également dans la liste 2 ?
0 votes
Vous devez supprimer des éléments de la liste 1 et les ajouter à la liste 2 ou autre chose ?
0 votes
En rapport : stackoverflow.com/questions/2477633/
1 votes
Que se passe-t-il si vous avez list1 = { foo1 } et list2 = { foo1, foo1 }. Toutes les copies de foo1 doivent-elles être supprimées de list2, ou seulement la première ?
2 votes
-J'ai rétrogradé toutes les réponses à cette question parce que je pensée elles étaient toutes fausses, mais il semble que la question soit juste posée de manière horrible. Maintenant, je ne peux pas les changer - toutes mes excuses. Voulez-vous retirer les éléments de
list1
qui existent danslist2
ou bien vous voulez supprimer les articles delist2
qui existent danslist1
? Au moment de ce commentaire, chaque réponse fournie réalise cette dernière.7 votes
@John Rashch, vous devriez avoir un peu moins la gâchette facile avec ces votes négatifs. Certaines des réponses sont assez conceptuelles et ne font que démontrer comment réaliser ce que le PO souhaite sans même se rapporter aux listes mentionnées dans la question.
1 votes
@John Rasch : Je suis d'accord avec João - s'il y a un problème mineur avec une réponse mais qu'il s'agit d'une bonne suggestion, signalez-le dans un commentaire. Une réponse par ailleurs correcte ne devrait pas être déclassée à cause d'une petite erreur, tant que le principe est correct. Et lorsque vous décotez, expliquez pourquoi dans un commentaire, sinon les gens ne savent pas pourquoi leurs réponses ont été décotées. Lorsque j'ai lu la question pour la première fois, j'ai fait la même erreur et je l'ai prise à l'envers, mais deux personnes ont eu la gentillesse de me faire remarquer mon erreur et je l'ai corrigée.
3 votes
@Mark - vous avez raison, c'est entièrement ma faute - c'est pourquoi j'ai mis le commentaire ici expliquant ce qui s'est passé, je cherchais une réponse précédente que j'avais déjà eue à une question similaire entre-temps après mon vote et j'allais laisser des commentaires après l'avoir trouvée - il s'avère que ce n'est pas le meilleur processus pour cela !