Lors de l'écriture d'une requête LINQ avec de multiples "et" les conditions, devrais-je écrire un seul where
clause contenant &&
ou multiple, where
clauses, un pour chaque état?
static void Main(string[] args)
{
var ints = new List<int>(Enumerable.Range(-10, 20));
var positiveEvensA = from i in ints
where (i > 0) && ((i % 2) == 0)
select i;
var positiveEvensB = from i in ints
where i > 0
where (i % 2) == 0
select i;
System.Diagnostics.Debug.Assert(positiveEvensA.Count() ==
positiveEvensB.Count());
}
Quelle est la différence autre que la préférence personnelle ou de style de codage (de longues lignes, de la lisibilité, etc.) entre positiveEvensA et positiveEvensB?
Une différence qui vient à l'esprit est que les différents fournisseurs LINQ peut être en mesure de mieux faire face à de multiples where
s plutôt que d'une expression plus complexe, est-ce vrai?