Heim >Backend-Entwicklung >C++ >Wie konvertiere ich ein String-Array in ein Int-Array in C# mithilfe von LINQ in einer Zeile?

Wie konvertiere ich ein String-Array in ein Int-Array in C# mithilfe von LINQ in einer Zeile?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-09 11:46:42402Durchsuche

How to Convert a String Array to an Int Array in C# Using LINQ in One Line?

Eine Zeile C#-Code zum Konvertieren eines String-Arrays in ein Integer-Array mithilfe von LINQ

Beim Programmieren ist die Bearbeitung von Daten in verschiedenen Formaten von entscheidender Bedeutung. Hier haben wir eine Situation: Sie haben ein Array von Ganzzahlen, die als Zeichenfolgen gespeichert sind, und müssen es zur weiteren Verarbeitung in ein echtes Array von Ganzzahlen konvertieren.

LINQ (Language Integrated Query) bietet eine praktische Lösung für diese Aufgabe. Mit der Select-Methode in LINQ können Sie jedes Element in einem Array mithilfe einer angegebenen Funktion transformieren. Mit der Funktion int.Parse können Sie jede Zeichenfolge in die entsprechende Ganzzahl konvertieren:

<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>

Diese Codezeile schließt die Konvertierung in einer Zeile ab. Es durchläuft das Array, analysiert jede Zeichenfolge in einen Ganzzahlwert und speichert das Ergebnis in einem neuen Array von Ganzzahlen.

Es gibt eine Alternative mit der Methode ConvertAll:

<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>

Diese Methode funktioniert speziell mit Arrays und führt eine ähnliche Konvertierung durch, erfordert jedoch einen expliziten Lambda-Ausdruck als Konvertierungsfunktion.

Schließlich können Sie potenzielle Konvertierungsfehler mithilfe der Funktion int.TryParse elegant behandeln:

<code class="language-csharp">int[] myInts = Array.ConvertAll(arr,
    s =>
    {
        int j;
        return Int32.TryParse(s, out j) ? j : 0;
    });</code>

Diese Methode stellt sicher, dass alle ungültigen Zeichenfolgenelemente durch einen Standardwert (in diesem Fall 0) ersetzt werden.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein String-Array in ein Int-Array in C# mithilfe von LINQ in einer Zeile?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn