Как сгенерировать комбинацию из N элементов с ограниченным запасом по 2 каждого без явных вложенных циклов
Если N фиксировано, как N = 3, то это легко, я могу использовать вложенные циклы глубины 3. Например,
from i in Enumerable.Range(0, 2)
from j in Enumerable.Range(0, 2)
from k in Enumerable.Range(0, 2)
select new int[] { i, j, k };
Что делать, если N является переменной?