当编写具有多个“和”条件的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,而不是更复杂的表达式。这是真的?