Eine einzelne LINQ-Zeile in C#, um eine effiziente String-Integer-Konvertierung zu erreichen
Müssen Sie ein Array, das eine Zeichenfolge von Ganzzahlen enthält, effizient in ein Array tatsächlicher Ganzzahlen konvertieren? Einfache Typkonvertierung funktioniert nicht und manuelles Schleifen ist zu umständlich?
LINQ bietet eine einfache und elegante Lösung. Nutzen Sie Lambda-Ausdrücke und Abfragesyntax, um die Konvertierung mit minimalem Code abzuschließen:
<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>
In diesem LINQ-Ausdruck wendet die Select
-Methode die int.Parse
-Transformation auf jedes Element des arr
-Arrays an und analysiert die Zeichenfolgendarstellung effektiv in eine Ganzzahl. Verwenden Sie dann ToArray()
, um die resultierende Aufzählung in ein Array umzuwandeln.
Beispielverwendung:
<code class="language-csharp">string[] arr = new string[] { "1", "2", "3", "4" }; int[] myInts = arr.Select(int.Parse).ToArray();</code>
Dieser Code generiert ein Array mit dem Namen myInts
, das die Ganzzahlen 1, 2, 3 und 4 enthält, das Sie problemlos an Methoden übergeben können, die echte Ganzzahlen erwarten.
Alternativen:
Wenn die Leistung von entscheidender Bedeutung ist, können Sie die Verwendung von Array.ConvertAll
in Betracht ziehen, das in einigen Fällen etwas besser als LINQ sein kann:
<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>
Ersetzen Sie einfach den Teil Select
im LINQ-Ausdruck durch Array.ConvertAll
, um diese Optimierung zu verwenden.
Durch die Nutzung der Ausdruckskraft von LINQ oder der Leistungsvorteile von Array.ConvertAll
können Sie ein Array von Zeichenfolgen problemlos mit einer einzigen Codezeile in ein Array von Ganzzahlen konvertieren.
Das obige ist der detaillierte Inhalt vonWie kann ich ein String-Array in C# effizient in ein Integer-Array konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!