C# Language Utilisation de SelectMany au lieu de boucles imbriquées


Exemple

2 listes données

var list1 = new List<string> { "a", "b", "c" };
var list2 = new List<string> { "1", "2", "3", "4" };

si vous voulez sortir toutes les permutations, vous pouvez utiliser des boucles imbriquées comme

var result = new List<string>();
foreach (var s1 in list1)
    foreach (var s2 in list2)
        result.Add($"{s1}{s2}");

En utilisant SelectMany, vous pouvez effectuer la même opération que

var result = list1.SelectMany(x => list2.Select(y => $"{x}{y}", x, y)).ToList();