Wie entferne ich ein Element, das ein vorgegebenes Kriterium aus einer LinkedList in C # übereinstimmt?
-
02-07-2019 - |
Frage
Ich habe eine LinkedList, wo Eintrag eines Mitglieds-ID genannt hat. Ich mag den Eintrag aus der Liste entfernen, wo id einen Suchwert übereinstimmt. Was ist der beste Weg, dies zu tun? Ich will nicht Remove () verwenden, da Entry.Equals werden anderen Mitgliedern vergleichen, und ich möchte nur auf id übereinstimmen. Ich hoffe, etwas wie eine Art, dies zu tun:
entries.RemoveWhereTrue(e => e.id == searchId);
edit: Kann jemand wieder öffnen, diese Frage für mich? Es ist kein Duplikat - die Frage es angenommen hat, ein Duplikat zu sein, über die List-Klasse ist. List.removeAll wird nicht funktionieren -., Dass ein Teil der List-Klasse ist
Lösung
list.Remove(list.First(e => e.id == searchId));
Andere Tipps
Hier ist eine einfache Lösung:
list.Remove(list.First((node) => node.id == searchId));
Verwenden Sie einfach die Wo-Extension-Methode. Sie erhalten eine neue Liste bekommen (IIRC).