313 votes

Convertir string [] [] int dans une chaîne de code à l’aide de LINQ

J’ai un tableau d’entiers sous forme de chaîne :

J’ai besoin d’un tableau d’entiers « réels » à pousser plus loin :

J’ai tenté de jeter des int, et elle n’a pas bien sûr :

Je peux faire ensuite :

ou

mais les deux moche.

Y a-t-il d’autres moyens pour accomplir la tâche ?

689voto

Ahmad Mageed Points 44495

Partir d’un tableau, vous pouvez utiliser le `` méthode:

Merci à Marc Gravell pour souligner que le lambda peut être omis, ce qui donne une version plus courte, illustrée ci-dessous :

Une solution LINQ est similaire, sauf que vous devez l’extra `` appel pour obtenir un tableau :

34voto

Simon Fox Points 5691

EDIT: convertir en tableau

 int[] asIntegers = arr.Select(s => int.Parse(s)).ToArray();
 

Cela devrait faire l'affaire:

 var asIntegers = arr.Select(s => int.Parse(s));
 

14voto

A.Dara Points 82

vous pouvez simplement convertir un tableau de chaînes en tableau int:

 var converted = arr.Select(int.Parse)
 

4voto

Rob Points 792
 var asIntegers = arr.Select(s => int.Parse(s)).ToArray();
 

Vous devez vous assurer que vous n'obtenez pas un IEnumerable<int> de retour

3voto

sepp2k Points 157757
var list = arr.Select(i => Int32.Parse(i));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X