Ok, donc je fais une itération d'une collection. pour chaque membre qui répond à certains critères, je veux appeler une méthode sur cet élément:Une autre question de traduction Linq
Voici comment je fais maintenant:
foreach(MyObject obj in myCollection)
{
if(obj.Property == theSearchValue)
obj.DoIt();
}
Pour ce que ça vaut, je pense que le foreach est le La manière la plus lisible et la plus claire de le faire (nous pourrions parler de points précis sur les accolades), c'est donc plus une question académique/d'apprentissage pour moi.
La question: Quelle est la meilleure façon d'exprimer cela avec Linq? Existe-t-il une façon Linqy de faire cela plus claire/lisible/maintenable que ma boucle foreach? Si oui, le fait-il sans sacrifier la performance?
(Beaucoup des opérations linq que je vois semblent soignées et toutes, mais elles aboutissent souvent à la création d'énumération intermédiaires, ou énumérant parfois une collection plusieurs fois - ma petite foreach résout le problème en 1 passe, sans collections temporaires créées.)
Aucune collection temporaires sont créés avec la version LINQ montre Justin. C'est un passage, tout comme le tien. Choisissez celui que vous aimez. –