J'ai besoin d'itérer sur une Liste d'objets, de faire quelque chose seulement pour les objets qui ont une propriété booléenne définie sur true. Je me débats entre ce code
foreach (RouteParameter parameter in parameters.Where(p => p.Condition))
{ //do something }
et ce code
foreach (RouteParameter parameter in parameters)
{
if !parameter.Condition
continue;
//do something
}
Le premier code est évidemment plus propre, mais je suppose qu'il en va de la boucle sur la liste deux fois - une fois pour la requête et une fois pour le foreach. Ce ne sera pas une liste énorme donc je ne suis pas trop inquiet au sujet de la performance, mais l'idée de la boucle deux fois des bugs moi.
Question: Est-il propre/jolie façon d'écrire cela sans boucle deux fois?