Can I split an IEnumerable into two by a boolean criteria without two queries?

前端 未结 3 831
再見小時候
再見小時候 2020-12-01 02:19

Can I split an IEnumerable into two IEnumerable using LINQ and only a single query/LINQ statement?

I want to avoid iter

3条回答
  •  天涯浪人
    2020-12-01 03:14

    You can use this:

    var groups = allValues.GroupBy(val => val.SomeProp);
    

    To force immediate evaluation like in your example:

    var groups = allValues.GroupBy(val => val.SomeProp)
                          .ToDictionary(g => g.Key, g => g.ToList());
    List trues = groups[true];
    List falses = groups[false];
    

提交回复
热议问题