使用 SelectMany 而不是巢狀迴圈

給出 2 個列表

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

如果你想輸出所有排列,你可以使用巢狀迴圈

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

使用 SelectMany,你可以執行相同的操作

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