using System; using System.Linq; using System.Collections.Generic; namespace ConsoleApp1 { class Program { static void Main(string[] args) { int[] arr = { 1, 2, 3, 4 }; IEnumerable> result = arr.Select(x => new List() { x }); for (int i = 1; i < arr.Length; i++) result = result.SelectMany(x => arr.Except(x), (x, y) => x.Concat(new int[] { y })); foreach (var item in result) { foreach (int i in item) Console.Write(i + " "); Console.WriteLine(); } } } }