Disons que j'ai une classe Customer
qui a une propriété FirstName
. Ensuite, j'ai un List<Customer>
.
LINQ peut-il être utilisé pour trouver si la liste contient un client Firstname = 'John'
dans une seule déclaration. Comment?
LINQ définit une méthode d'extension parfaite pour résoudre ce problème exact:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
assurez-vous de référencer System.Core.dll, c'est là que réside LINQ.
La réponse de zvolkov est parfaite pour savoir s'il existe un tel client. Si vous devez utiliser le client par la suite, vous pouvez faire:
Je sais que ce n'est pas ce que vous demandiez, mais je pensais que j'aurais anticipé une question de suivi :) (Bien sûr, cela ne trouve que le premier de ces clients ... pour tous les trouver, utilisez simplement un
where
clause normale .)la source
bool
résultat, alors dans ce cas.Any
ou.FindIndex
est utilisé ici qui est rapide ?Une option pour la question suivante (comment trouver un client qui pourrait avoir un certain nombre de prénoms):
ou pour récupérer le client de csv de liste similaire
la source
En utilisant Linq, vous avez de nombreuses possibilités, en voici une sans utiliser de lambdas:
la source
la source
La technique que j'ai utilisée avant de découvrir
.Any()
:la source
john sera nul si aucun client n'existe avec un prénom "John".
la source
Une autre possibilité
la source
Essayez ceci, j'espère que cela vous aidera.
la source