Come rimuovo un elemento che corrisponde a un determinato criterio da un LinkedList in C #?
-
02-07-2019 - |
Domanda
Ho un LinkedList, dove Entry ha un membro chiamato id. Voglio rimuovere la voce dall'elenco in cui l'id corrisponde a un valore di ricerca. Qual'è il miglior modo per farlo? Non voglio usare Remove (), perché Entry.Equals confronterà gli altri membri e voglio solo abbinare su id. Spero di fare qualcosa del genere:
entries.RemoveWhereTrue(e => e.id == searchId);
modifica: qualcuno può riaprire questa domanda per me? NON è un duplicato, la domanda di cui dovrebbe essere un duplicato riguarda la classe List. List.RemoveAll non funzionerà, fa parte della classe List.
Soluzione
list.Remove(list.First(e => e.id == searchId));
Altri suggerimenti
Ecco una soluzione semplice:
list.Remove(list.First((node) => node.id == searchId));
Usa semplicemente il metodo di estensione Where. Otterrai un nuovo elenco (IIRC).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow