Внедрение сервиса из другого модуля при сбое работы ui-роутера

Относительно ответа Pengyang: Вот моя общая функция, которая может вернуть все комбинации из списка T:

static IEnumerable>
    GetCombinations(IEnumerable list, int length)
{
    if (length == 1) return list.Select(t => new T[] { t });

    return GetCombinations(list, length - 1)
        .SelectMany(t => list, (t1, t2) => t1.Concat(new T[] { t2 }));
}

Пример 1: n = 3, k = 2

IEnumerable> result =
    GetCombinations(Enumerable.Range(1, 3), 2);

Вывод - список целых списков:

{1, 1} {1, 2} {1, 3} {2, 1} {2, 2} {2, 3} {3, 1} {3, 2} {3, 3}

........................... ..................................................

Я выполнил этот пример, и я не совсем уверен в правильности результатов.

Пример 2: n = 3, k = 3

IEnumerable> result =
    GetCombinations(Enumerable.Range(1, 3), 3);

Вывод - список целых списков:

{1, 1, 1} {1, 1, 2} {1, 1, 3} 
{1, 2, 1} {1, 2, 2} {1, 2, 3} 
{1, 3, 1} {1, 3, 2} {1, 3, 3}
{2, 1, 1} {2, 1, 2} {2, 1, 3} 
{2, 2, 1} {2, 2, 2} {2, 2, 3} 
{2, 3, 1} {2, 3, 2} {2, 3, 3}
{3, 1, 1} {3, 1, 2} {3, 1, 3} 
{3, 2, 1} {3, 2, 2} {3, 2, 3} 
{3, 3, 1} {3, 3, 2} {3, 3, 3}

Это не должно происходить с комбинациями, иначе оно должно указывать, что оно повторяется. См. Статью http://en.wikipedia.org/ вики / Комбинация

0
задан Łukasz Królik 17 January 2019 в 07:40
поделиться