Using SelectMany instead of nested loops C# with Example
Given 2 lists var list1 = new List { "a", "b", "c" }; var list2 = new List { "1", "2", "3", "4" }; if you want to output all permutations you could use nested loops like var result = new List(); foreach (var s1 in list1) foreach (var s2 in list2) result.Add($"{s1}{s2}"); Using SelectMany you can do the same operation as var result = list1.SelectMany(x => list2.Select(y => $"{x}{y}", x, y)).ToList();