Você está aqui: C# ::: Coleções (Collections) ::: List<T> |
||
Como pesquisar um elemento em uma lista do C# usando a função Find() e um PredicateQuantidade de visualizações: 15062 vezes |
||
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor. Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura:
Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências). Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate:
O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista. |
||
![]() |
||
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |