Heim >Backend-Entwicklung >C++ >Wie generiert man in C# alle möglichen Kombinationen aus einer laufzeitgroßen Liste?
Generieren Sie alle möglichen Kombinationen aus einer laufzeitgroßen Werteliste
In einem typischen Programmierszenario werden Sie auf eine Situation stoßen, in der Sie alle möglichen Kombinationen von Elementen aus einer bestimmten Liste von Ganzzahlen generieren müssen. Um dies in C# zu erreichen, führen Sie die folgenden Schritte aus:
List<int>
verwenden, um eine beliebige Anzahl von Elementen zur Laufzeit unterzubringen. Das Folgende ist ein Beispielcode, der diesen Algorithmus implementiert:
<code class="language-csharp">using System; using System.Collections.Generic; public class CombinationGenerator { public static void Main(string[] args) { GenerateCombinations(new List<int> { 1, 2, 3 }); } public static void GenerateCombinations(List<int> list) { int count = (int)Math.Pow(2, list.Count); for (int i = 1; i < count; i++) { List<int> combination = new List<int>(); string binary = Convert.ToString(i, 2).PadLeft(list.Count, '0'); for (int j = 0; j < binary.Length; j++) { if (binary[j] == '1') { combination.Add(list[j]); } } Console.WriteLine(string.Join(", ", combination)); } } }</code>
Mit diesem Algorithmus können Sie effizient alle möglichen Kombinationen von Elementen in einer Liste generieren, unabhängig von ihrer Größe.
Das obige ist der detaillierte Inhalt vonWie generiert man in C# alle möglichen Kombinationen aus einer laufzeitgroßen Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!