Все перестановки в списке [дубликаты]

На этот вопрос уже есть ответ здесь:

Перечисление всех перестановок строки / целого числа 27 ответовГенерация перестановок набора (наиболее эффективно) 17 ответовПолучение всех возможных комбинаций из списка номеров 3 ответа

я хотел бы иметь возможность взять такой список

var list=new List{0, 1, 2};

И получить такой результат, как я

var result=
    new List{
        new List{0, 1, 2},
        new List{0, 2, 1},
        new List{1, 0, 2},
        new List{1, 2, 0},
        new List{2, 0, 1},
        new List{2, 1, 0}
    };

Меня не интересуют множества с пропущенными числами, просто комбинации существующих чисел. Есть идеи?

Также я'мы смотрели на такие решения, какПолучение всех возможных комбинаций из списка номеров уже, и они нене подходит

Это дает мне что-то вроде этого

var result=
    new List {
        // [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
        // serialized the result to JSON so it would be quicker.
    };

И это невыплюнуть все комбинации.

Ответы на вопрос(1)

Ваш ответ на вопрос