Digamos que eu tenha uma classe Customer
que tenha uma propriedade FirstName
. Então eu tenho umList<Customer>
.
O LINQ pode ser usado para descobrir se a lista possui um cliente Firstname = 'John'
em uma única instrução. Como?
O LINQ define um método de extensão perfeito para resolver esse problema exato:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
certifique-se de referenciar System.Core.dll, é onde mora o LINQ.
A resposta de zvolkov é perfeita para descobrir se existe um cliente assim. Se você precisar usar o cliente posteriormente, poderá:
Sei que não era isso que você estava perguntando, mas pensei em antecipar uma pergunta subsequente :) (é claro, isso só encontra o primeiro cliente desse tipo ... para encontrar todos eles, basta usar um
where
cláusula normal .)fonte
bool
resultado, então nesse caso.Any
ou.FindIndex
é usado aqui o que é rápido ?Uma opção para a pergunta a seguir (como encontrar um cliente que possa ter qualquer número de nomes):
ou recuperar o cliente do csv da lista semelhante
fonte
Usando o Linq você tem muitas possibilidades, aqui uma sem o uso de lambdas:
fonte
fonte
A técnica que usei antes de descobrir
.Any()
:fonte
john será nulo se não existir um cliente com o primeiro nome de "John".
fonte
Outra possibilidade
fonte
Tente isso, espero que ajude você.
fonte