¿Cómo elimino un elemento que coincide con un criterio dado de una lista enlazada en C #?

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

  •  02-07-2019
  •  | 
  •  

Pregunta

Tengo una lista enlazada, donde la entrada tiene un miembro llamado id. Quiero eliminar la entrada de la lista donde id coincide con un valor de búsqueda. ¿Cuál es la mejor manera de hacer esto? No quiero usar Remove (), porque Entry.Equals comparará a otros miembros, y solo quiero coincidir en la identificación. Espero hacer algo como esto:

entries.RemoveWhereTrue(e => e.id == searchId);

editar: ¿Puede alguien volver a abrir esta pregunta para mí? NO es un duplicado: la pregunta que se supone que es un duplicado es sobre la clase Lista. List.RemoveAll no funcionará, eso es parte de la clase List.

¿Fue útil?

Solución

list.Remove(list.First(e => e.id == searchId));

Otros consejos

Aquí hay una solución simple:

list.Remove(list.First((node) => node.id == searchId));

Solo usa el método de extensión Where. Obtendrá una nueva lista (IIRC).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top