Verwendung von LINQ zum Entfernen bestimmter Elemente aus einer IList basierend auf einer anderen IList. Ich muss Datensätze von list1 entfernen, wo ID in list2 vorhanden ist. Unten ist das Codebeispiel,
%Vor%So mache ich es, gibt es einen besseren Weg, das Gleiche zu tun.
Sie können list1
für einfacher verwenden:
Aber Sie müssen wirklich an Ort und Stelle entfernen, bevorzugen @ DanielHilgarths Antwort
Sie könnten eine "RemoveAll ()" - Erweiterungsmethode für list2
schreiben, die genau wie list1
funktioniert. (Dies ist im Allgemeinen nützlich genug, um in einer gemeinsamen Klassenbibliothek zu bleiben.)
Zum Beispiel (die Fehlerüberprüfung wurde aus Gründen der Übersichtlichkeit entfernt; Sie müssten prüfen, ob die Parameter nicht null sind):
%Vor%Dann würde das Entfernen der Elemente aus list1 nach Bedarf tatsächlich so einfach werden wie:
%Vor%Verwendung von LINQ zum Entfernen bestimmter Elemente aus einer IList basierend auf einer anderen IList. Ich muss Datensätze von list1 entfernen, wo ID in list2 vorhanden ist. Unten ist das Codebeispiel,
%Vor%So mache ich es, gibt es einen besseren Weg, das Gleiche zu tun.
Sie könnten eine "RemoveAll ()" - Erweiterungsmethode für IList<T>
schreiben, die genau wie List.RemoveAll()
funktioniert. (Dies ist im Allgemeinen nützlich genug, um in einer gemeinsamen Klassenbibliothek zu bleiben.)
Zum Beispiel (die Fehlerüberprüfung wurde aus Gründen der Übersichtlichkeit entfernt; Sie müssten prüfen, ob die Parameter nicht null sind):
%Vor%Dann würde das Entfernen der Elemente aus list1 nach Bedarf tatsächlich so einfach werden wie:
%Vor%