Come rimuovo un elemento che corrisponde a un determinato criterio da un LinkedList in C #?

StackOverflow https://stackoverflow.com/questions/133487

  •  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.

È stato utile?

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
scroll top