Como faço para remover um elemento que coincide com um determinado critério de um LinkedList em C #?
-
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
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