Como faço para remover um elemento que coincide com um determinado critério de um LinkedList em C #?

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

  •  02-07-2019
  •  | 
  •  

Pergunta

Eu tenho um LinkedList, onde a entrada tem um membro chamado id. Eu quero remover a entrada da lista onde id corresponde a um valor de pesquisa. Qual é a melhor forma de fazer isso? Eu não quero usar Remove (), porque Entry.Equals irá comparar outros membros, e eu só quero corresponder em id. Estou esperando para fazer algo tipo como este:

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

edit: alguém pode re-abrir esta pergunta para mim? Não é um duplicado - a questão é suposto ser uma duplicata é sobre a classe List. List.RemoveAll não vai funcionar -. Isso é parte da classe List

Foi útil?

Solução

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

Outras dicas

Aqui está uma solução simples:

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

Basta usar o Where método de extensão. Você vai ter uma nova lista (IIRC).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top