J'ai un dictionnaire en C# :
Dictionary<string, List<string>>
Comment puis-je utiliser Linq pour aplatir cela en un List<string>
qui contient toutes les listes du dictionnaire ?
Merci!
J'ai un dictionnaire en C# :
Dictionary<string, List<string>>
Comment puis-je utiliser Linq pour aplatir cela en un List<string>
qui contient toutes les listes du dictionnaire ?
Merci!
Très facilement:
var list = dictionary.Values // To get just the List<string>s
.SelectMany(x => x) // Flatten
.ToList(); // Listify
Ici, l' SelectMany
prend une séquence d'entrées (les listes qui constituent les valeurs du dictionnaire) et projette chaque entrée dans une autre séquence de sorties - dans ce cas "les éléments de la liste". Il aplatit ensuite cette séquence de séquences en une seule séquence.
SelectMany
est le moyen le plus simple d'aplatir les choses :
Dictionary.Values.SelectMany(x => x).ToList()
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.