我可以使用LINQ和只有一个查询/ LINQ语句将其拆分IEnumerable<T>为两个IEnumerable<T>吗?
我想避免迭代IEnumerable<T>两次.例如,是否可以组合下面的最后两个语句,以便只遍历一次allValues?
IEnumerable<MyObj> allValues = ...
List<MyObj> trues = allValues.Where( val => val.SomeProp ).ToList();
List<MyObj> falses = allValues.Where( val => !val.SomeProp ).ToList();
Run Code Online (Sandbox Code Playgroud)