Ein Element aus einer anderen Liste entfernen
Frage:
Wie durchlaufe ich eine generische Liste von Elementen und entferne sie aus einer anderen Liste von Elementen?
Szene:
Betrachten Sie das folgende hypothetische Beispiel:
<code>List<汽车> list1 = GetTheList(); List<汽车> list2 = GetSomeOtherList();</code>
Das Ziel besteht darin, eine foreach-Schleife zu verwenden, um Liste1 zu durchlaufen und alle Elemente zu entfernen, die auch in Liste2 vorhanden sind. Allerdings stellt die foreach-Schleife keine indexbasierten Methoden bereit.
Antwort:
Um dies zu erreichen, können Sie die Except-Methode verwenden:
<code>List<汽车> result = list2.Except(list1).ToList();</code>
Dadurch wird ein neues Listenergebnis erstellt, das Elemente in Liste2 enthält, die in Liste1 nicht vorhanden sind. Die Except-Methode ändert die ursprüngliche Liste nicht.
Optimierung:
Um Ihren Code weiter zu optimieren, können Sie auf temporäre Variablen verzichten:
<code>List<汽车> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Es ist wichtig zu beachten, dass Except eine neue Liste zurückgibt, die die berechneten Unterschiede enthält, sodass weder Liste1 noch Liste2 geändert wird.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient Elemente aus einer Liste entfernen, die in einer anderen Liste vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!