(exemple très simplifié) J'ai une liste générique de chaînes:Quelle est la manière la plus efficace et la plus lisible de diviser une liste générique en fonction d'une condition?
var strings = new List<string> { "abc", "owla", "paula", "lala", "hop" };
Je suis à la recherche de la façon la plus efficace de diviser cette liste en une liste des éléments qui répondent à une condition et une liste d'éléments qui ne répondent pas à cette même condition. Y a-t-il un moyen de faire cela avec une seule boucle dans la liste d'origine?
La méthode d'extension 'Where' élimine un' IEnumerable 'mais le' RemoveAll' est une opération sur place. En tant que tel, vous comparez des opérations fondamentalement différentes. Qu'est-ce que "l'efficacité de l'écriture"? Concis, laconique, facile à comprendre? Vous ne le faites pas clairement. –
spender
Faites très attention en modifiant une liste sur laquelle vous avez une requête non matérialisée. La nature différée de LINQ rend cela déconseillé (bien que votre exemple * devrait * être correct) – spender
Qu'est-ce qui est concis? Qu'est-ce qui est laconique? :) (Je ne suis pas l'anglais natif) Je veux dire facile à lire/comprendre. Mon code est-il correct maintenant? – TweeZz