Heim >Backend-Entwicklung >C++ >Wie kann Linq alle möglichen String -Kombinationen aus zwei Arrays generieren?
Verwenden Sie LINQ, um alle möglichen Kombinationen zu generieren
Bei der Programmierung sind häufig alle möglichen Elementkombinationen aus mehreren Listen erforderlich. Dieses Problem beschreibt eine Szene, in der zwei Arrays kombiniert werden müssen, um eine Reihe von Zeichenfolge zu erstellen.
Lösung
Um alle möglichen Kombinationen des Arrays zu generieren, können wir Descartes verwenden, um Technologie zu sammeln. Dies beinhaltet die Erstellung einer neuen Liste, die alle möglichen Elementkombinationen im Eingabearray enthält. Die generierte Liste hat die Gesamtzahl der Elemente, die der Eingabe der Länge der Eingangszahl entsprechen.
lINQ (Sprachintegrationsanfrage) bietet eine elegante Möglichkeit, die Akkumulation von Descartes auszuführen und die erforderliche Kombination zu erzeugen. Der Schlüssel besteht darin, den Zip -Operator zu verwenden, der die Elemente in den beiden Sequenzen zu einer einzelnen Elementsequenz kombiniert.Der folgende Code zeigt, wie Sie LINQ verwenden, um alle möglichen Kombinationen zu generieren:
Hier erzeugt die CartesianProduct -Funktion die Descartes der von Enumerable.Range erstellten Sequenzen. Die Zip -Computer -Symbole kombinieren die Elemente in jeder Sequenz in eine Zeichenfolge.
<code class="language-csharp">var arr1 = new[] { "a", "b", "c" }; var arr2 = new[] { 3, 2, 4 }; var result = from cpLine in CartesianProduct( from count in arr2 select Enumerable.Range(1, count)) select cpLine.Zip(arr1, (x1, x2) => x2 + x1);</code>Das erzeugte Ergebnis ist eine Sequenz einer Stringsequenz, die die mögliche Kombination anzeigt. Code und dann iterieren und in die Konsole ausdrucken:
Diese Methode bietet eine Methode, die direkt die mögliche Kombination von Elementen in zwei Array erzeugt. Es verwendet die Expressionssyntax von Linq und das Prinzip von Descartes, um die erforderlichen Ergebnisse effizient zu erhalten.
Das obige ist der detaillierte Inhalt vonWie kann Linq alle möglichen String -Kombinationen aus zwei Arrays generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!