Convertir un tableau de chaînes en tableau d'entiers en C# à l'aide de LINQ
En programmation, il est souvent nécessaire de convertir un tableau de chaînes représentant des entiers en un véritable tableau d'entiers. Cette tâche peut être facilement accomplie à l'aide de LINQ, une puissante extension de langage permettant de travailler avec des collections.
Solution LINQ utilisant Select
Une façon de convertir un tableau de chaînes en un tableau d'entiers consiste à utiliser la méthode d'extension Select. Cette méthode d'extension vous permet de convertir chaque élément de la collection en un nouvel élément à l'aide d'une expression lambda spécifiée. Dans ce cas, l'expression lambda peut être int.Parse(s)
, où s est l'élément chaîne :
<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>
Cette ligne de code applique la méthode int.Parse
à chaque élément de chaîne du tableau, le convertissant efficacement en un entier. Le résultat est une collection d'entiers, qui est ensuite convertie en tableau à l'aide de la méthode ToArray
.
Alternatives utilisant Array.ConvertAll
Une autre façon de résoudre ce problème est d'utiliser la méthode Array.ConvertAll
. Cette méthode accepte un tableau et une expression lambda comme arguments et renvoie un nouveau tableau contenant le résultat de l'application de l'expression lambda à chaque élément du tableau d'entrée. Dans ce cas, l'expression lambda peut être int.Parse
:
<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>
Version courte utilisant Array.ConvertAll
Enfin, une version plus propre de la solution Array.ConvertAll
peut être obtenue en omettant l'expression lambda. Cela se traduira par des lignes de code plus courtes et plus simples :
<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</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!