Під час написання запиту LINQ з декількома умовами "і", чи слід писати один where
речення, що містить &&
або кілька where
речень, по одному для кожного стану?
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());
}
Чи існує якась різниця, крім особистих уподобань чи стилю кодування (довгі рядки, читабельність тощо) між positiveEvensA та positiveEvensB ?
Однією з можливих різниць, яка спадає на думку, є те, що різні постачальники LINQ можуть краще справлятися з множинними where
s, а не з більш складним виразом; це правда?