Verwenden Sie LINQ, um Listenelemente
LINQ ist eine leistungsstarke Datenabfragetechnologie, die bestimmte Elemente in einer Sammlung filtern und auswählen kann. Beim Umgang mit veränderlichen Sammlungen wie List
LINQ-Abfrage und Entfernung
Betrachten Sie die folgende LINQ-Abfrage:
<code class="language-csharp">var authors = from x in authorsList where x.firstname == "Bob" select x;</code>
Diese Abfrage gibt eine Folge von Autorenobjekten mit dem Namen „Autoren“ zurück. Wenn Sie diese Autoren jedoch aus der Autorenliste entfernen möchten, wird die ursprüngliche Sammlung durch die Verwendung von Autoren zum Entfernen nicht direkt aktualisiert.
Lösung zum Entfernen von Abfrageergebnissen
Es gibt zwei Hauptstrategien zum Löschen von Abfrageergebnissen aus der Autorenliste:
<code class="language-csharp">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();</code>
Dadurch wird effektiv eine neue gefilterte Liste von Autoren erstellt, die Bob nicht enthält.
<code class="language-csharp">authorsList.RemoveAll(x => x.FirstName == "Bob");</code>
Diese Methode durchläuft die Autorenliste und entfernt alle Elemente, die mit dem Prädikat übereinstimmen.
Alternative Möglichkeit, mehrere Elemente zu filtern
Wenn Sie mehrere spezifische Elemente basierend auf einem separaten Satz (z. B. HashSet) entfernen müssen:
<code class="language-csharp">var setToRemove = new HashSet<Author>(authors); authorsList.RemoveAll(x => setToRemove.Contains(x));</code>
Diese Methode entfernt effektiv alle Autoren in setToRemove aus der AuthorsList.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von LINQ effizient Elemente aus einer Liste entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!