Puis-je fractionner un IEnumerable<T>
en deux IEnumerable<T>
utilisant LINQ et une seule requête / instruction LINQ?
Je veux éviter de parcourir le IEnumerable<T>
deux fois. Par exemple, est-il possible de combiner les deux dernières instructions ci-dessous pour que toutes les valeurs ne soient parcourues qu'une seule fois?
IEnumerable<MyObj> allValues = ...
List<MyObj> trues = allValues.Where( val => val.SomeProp ).ToList();
List<MyObj> falses = allValues.Where( val => !val.SomeProp ).ToList();