我可以使用LINQ将IEnumerable<T>
拆分为两个IEnumerable<T>
,并且只使用一个查询/LINQ语句吗?
我希望避免重复IEnumerable<T>
次.例如,是否可以合并下面的最后两条语句,以便只遍历一次allValues?
IEnumerable<MyObj> allValues = ...
List<MyObj> trues = allValues.Where( val => val.SomeProp ).ToList();
List<MyObj> falses = allValues.Where( val => !val.SomeProp ).ToList();