Heim >Backend-Entwicklung >C++ >Wie kann ich Elemente aus einer Liste entfernen, die in einer anderen Liste in C# vorhanden sind?

Wie kann ich Elemente aus einer Liste entfernen, die in einer anderen Liste in C# vorhanden sind?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-13 14:11:42259Durchsuche

How Can I Remove Items from One List That Are Present in Another List in C#?

Effizientes Entfernen von Elementen aus einer Liste, die in einer anderen vorhanden sind (C#)

Viele Programmieraufgaben erfordern das Entfernen von Elementen aus einer Liste, die auch in einer zweiten Liste erscheinen. Dieser Artikel zeigt zwei effektive Methoden in C#, um dies zu erreichen.

Nutzung der Except Methode von LINQ

LINQ (Language Integrated Query) bietet eine übersichtliche Lösung mit der Except-Methode. Diese Methode berechnet die Mengendifferenz zwischen zwei Listen und gibt eine neue Liste zurück, die nur Elemente enthält, die für die erste Liste eindeutig sind. Entscheidend ist, dass bei diesem Ansatz eine Änderung der ursprünglichen Listen vermieden wird.

Hier ist ein Beispiel, das die Verwendung von Except veranschaulicht:

<code class="language-csharp">List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
List<car> result = list2.Except(list1).ToList();</code>

Dieses Code-Snippet generiert result, eine neue Liste mit Elementen aus list2, die in list1 fehlen. Die ToList()-Konvertierung ist notwendig, da Except ein IEnumerable anstelle eines List zurückgibt.

Alternative: Direkte Erstellung einer neuen Liste

Ein effizienterer Ansatz besteht darin, direkt eine neue Liste zu erstellen, die nur die gewünschten Elemente enthält:

<code class="language-csharp">List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>

Dadurch wird das gleiche Ergebnis wie im vorherigen Beispiel erzielt, jedoch ohne dass eine temporäre Variable erforderlich ist.

Wichtige Überlegung:

Beide oben vorgestellten Methoden erzeugen eine neue Liste mit den gefilterten Elementen. Die Originallisten (list1 und list2) bleiben unberührt.

Das obige ist der detaillierte Inhalt vonWie kann ich Elemente aus einer Liste entfernen, die in einer anderen Liste in C# vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn