So entfernen Sie ein Element aus einer Liste, das in einer anderen Liste enthalten ist
Angenommen, Sie haben zwei Listen, Liste1 und Liste2, und Sie möchten alle Elemente in Liste1 entfernen, die auch in Liste2 vorhanden sind. Die Verwendung einer foreach-Schleife zum Durchlaufen von Liste1 reicht nicht aus, da diese nicht indexbasiert ist.
Lösung: Verwenden Sie die Except-Methode
.NET Framework stellt die Methode „Except“ bereit, die eine neue Liste zurückgibt, die Elemente aus der ersten Liste enthält, die in der zweiten Liste nicht vorhanden sind. Es verwendet zwei Listen als Parameter und arbeitet Element für Element.
Um Except zu verwenden, schreiben Sie den folgenden Code:
<code class="language-csharp">List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList(); List<car> result = list2.Except(list1).ToList();</code>
Die generierte Ergebnisliste enthält nur Elemente in Liste2, die nicht in Liste1 enthalten sind.
Hinweis: Die Except-Methode ändert nicht die ursprüngliche Liste. Es erstellt eine neue Liste mit den Ergebnissen.
Vereinfachte Syntax
Sie können den obigen Code durch Methodenverkettung weiter vereinfachen:
<code class="language-csharp">List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Dieser Code erzielt das gleiche Ergebnis, ohne temporäre Variablen zu verwenden.
Das obige ist der detaillierte Inhalt vonWie entferne ich effizient Elemente aus einer Liste, die in einer anderen vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!