Wenn ich eine LINQ-Abfrage mit mehreren "und"-Bedingungen schreibe, sollte ich eine einzelne where
Klausel mit &&
oder mehrere where
Klauseln, eine für jede Bedingung?
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());
}
Gibt es außer der persönlichen Vorliebe oder dem Kodierungsstil (lange Zeilen, Lesbarkeit usw.) noch andere Unterschiede zwischen positivEvensA y positiveEvensB ?
Ein möglicher Unterschied besteht darin, dass verschiedene LINQ-Provider möglicherweise besser in der Lage sind, mit mehreren where
s statt eines komplexeren Ausdrucks. Stimmt das?