2011-11-15 5 views
3

Je prends des entrées d'une zone de texte. J'ai sauvé les chiffres d'entrée de zone de texte à un tableau comme celui-ci:Comment convertir char array en int?

char[] _array = textBox1.Text.ToCharArray(0, textBox1.Text.Length); 

Maintenant, je veux convertir le tableau à un tableau int parce que je veux effectuer des opérations mathématiques sur chaque index du tableau.

Comment puis-je atteindre l'objectif? Merci.

+2

Nous avons besoin de connaître votre intention ici. Attendez-vous une chaîne de valeurs numériques ou voulez-vous convertir chaque 'char' en son code de caractère? –

+0

Avez-vous implémenté du code pour vous assurer que l'entrée de la zone de texte est numérique? Vous code ci-dessus est juste de convertir chaque caractère dans la zone de texte à sa valeur CHAR charactère est votre intention, ou voulez-vous convertir la chaîne d'entrée à un int "1234" à 1234? – Maess

+0

Je veux obtenir une valeur numérique. Chaque chiffre à l'index particulier de la matrice respectivement. –

Répondre

1

J'ai résolu mon problème. J'ai utilisé la liste pour accomplir la tâche.

J'ai stocké chaque index de tableau à l'index relatif de la liste après avoir converti chaque valeur d'index en int. Utilisation de la liste semble plus pratique pour moi. :)

Merci à vous tous.

10

Vous pouvez le faire avec LINQ si vous voulez juste le code de caractère de chaque caractère.

var intArrayOfText = "some text I wrote".ToCharArray().Select(x => (int)x); 

ou

var intArrayOfText = someTextBox.Text.ToCharArray().Select(x => (int)x); 
+0

Bon usage de LINQ :) – RBT

1

En supposant que j'ai demandé dans mon commentaire est vrai:

string[] ints = { "1", "2", "3" }; 

var str = ints.Select(i => int.Parse(i)); 

Cependant, ce qui précède ne fonctionnera que si vous avez déjà validé votre entrée du texte La case est numérique.

5

Si chaque personnage devrait être un chiffre, vous pouvez l'analyser à un int:

List<int> listOfInt = new List<int>(); 
_array.ToList().ForEach(v => listOfInt.Add(int.Parse(v.ToString()))); 
int[] _intArray = listOfInt.ToArray(); 

valeur Code de caractère:

List<int> listOfCharValue = new List<int>(); 
_array.ToList().ForEach(v => listOfCharValue.Add((int)v)); 
int[] _charValueArray = listOfCharValue.ToArray(); 

Vous devez gérer les exceptions.