При написании запроса 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());
}
Есть ли какая-либо разница, отличная от личных предпочтений или стиля кодирования (длинные строки, читаемость и т.д.) между позитивными EvensA и позитивными EvensB?
Одно из возможных различий, которое приходит на ум, заключается в том, что различные поставщики LINQ могут лучше справляться с несколькими where
, а не с более сложным выражением; это правда?