C# все комбинации
Primary tabs
Forums:
Имеется вот такой вот классный пример получения всех комбинаций с повторами да ещё заданной длинны
(при использовании уберите пробелы между угловыми скобками и остальным текстом)
static IEnumerable< IEnumerable< T > > GetAllCombinations< T >(IEnumerable< T > list, int length) { if (length == 1) return list.Select(t => new T[] { t }); return GetAllCombinations(list, length - 1) .SelectMany(t => list, (t1, t2) => t1.Concat(new T[] { t2 })); }
Использовать данный код можно например так:
Console.WriteLine( string.Join(", ", GetAllCombinations("abcde".ToCharArray(), 2).Select(list => string.Join("", list)) // извлечение чтобы напечатать ) );
Автор кода: stackoverflow.com/users/1251423/pengyang
- Log in to post comments
- 5255 reads