Une seule ligne de LINQ en C# pour obtenir une conversion efficace de chaîne en entier
Besoin de convertir efficacement un tableau contenant une chaîne d'entiers en un tableau d'entiers réels ? La conversion de type simple ne fonctionne pas et le bouclage manuel est trop fastidieux ?
LINQ propose une solution simple et élégante. Tirez parti des expressions lambda et de la syntaxe de requête pour terminer la conversion avec un minimum de code :
<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>
Dans cette expression LINQ, la méthode Select
applique la transformation int.Parse
à chaque élément du tableau arr
, analysant efficacement la représentation sous forme de chaîne en un entier. Ensuite, utilisez ToArray()
pour convertir l'énumération résultante en tableau.
Exemple d'utilisation :
<code class="language-csharp">string[] arr = new string[] { "1", "2", "3", "4" }; int[] myInts = arr.Select(int.Parse).ToArray();</code>
Ce code génère un tableau nommé myInts
contenant les entiers 1, 2, 3 et 4, que vous pouvez facilement transmettre aux méthodes qui attendent de vrais entiers.
Alternatives :
Si les performances sont critiques, vous pouvez envisager d'utiliser Array.ConvertAll
, qui peut être légèrement meilleur que LINQ dans certains cas :
<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>
Remplacez simplement la partie Select
dans l'expression LINQ par Array.ConvertAll
pour utiliser cette optimisation.
En utilisant la puissance d'expression de LINQ ou les avantages de performances de Array.ConvertAll
, vous pouvez facilement convertir un tableau de chaînes en un tableau d'entiers avec une seule ligne de code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!