So Erzeugen Sie Kombinationen der Elemente einer List<T> in .NET 4.0

Ich habe eine Frage, die ist ähnlich, aber nicht identisch sind, auf die niemand geantwortet hier.

Ich würde gerne eine Funktion generieren, die alle k-Kombinationen von Elementen aus einer Liste von n Elementen. Beachten Sie, dass ich bin auf der Suche nach Kombinationen, nicht Permutationen, und wir brauchen eine Lösung für die unterschiedlichen k (D. H., die Feste Codierung der Schleifen ist ein no-no).

Ich bin auf der Suche nach einer Lösung, die a) elegant, und b) programmiert werden können, in VB10/.Net 4.0.

Dies bedeutet a) Lösungen, die LINQ ok sind, b) die Verwendung der C# "Ausbeute" - Befehl nicht.

Die Reihenfolge der Kombinationen ist nicht von Bedeutung (d.h., lexikographische, Gray-code, was-haben-Sie) und Eleganz ist wichtiger als Leistung, wenn die beiden in Konflikt.

(Die OCaml und C# - Lösungen hier wäre perfekt, wenn Sie könnten, werden codiert in VB10.)

Schreibe einen Kommentar