Как создать комбинации элементов списка <T> в .NET 4.0

У меня есть вопрос, который похож, но не идентичен тому, который ответилВот.

Я хотел бы функцию генерировать всеk-комбинации элементов из списка из n элементов. Обратите внимание, что я ищу комбинации, а не перестановки, и что нам нужно решение для измененияk (то есть жесткое кодирование циклов - это нет-нет).

Я ищу решение, которое является а) элегантным, и б) может быть закодировано в VB10 / .Net 4.0.

Это означает, что а) решения, требующие LINQ, в порядке, б) те, которые используют C # "yield" команда не.

Порядок комбинаций не важен (т. Е. Лексикографический, код Грея, «что у тебя есть»), и элегантность предпочтительнее, чем производительность, если они конфликтуют.

(Решения OCaml и C #Вот было бы идеально, если бы они могли быть закодированы в VB10.)

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

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