2011-11-15 127 views
3

我正在输入一个文本框。我已经保存从文本框中输入数字到一个数组是这样的:如何将char数组转换为int?

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

现在我想将数组转换为int数组,因为我想在阵列中的每个指标进行数学运算。

我该如何实现目标? 谢谢。

+2

我们需要知道你的意图。你期待一串数值还是你想把每个'char'转换成它的字符代码? –

+0

您是否实施了代码以确保文本框输入是数字?上面的代码只是将文本框中的每个字符转换为其数字CHAR值就是您的意图,还是要将输入字符串转换为int,即“1234”转换为1234? – Maess

+0

我想获得数值。 分别位于阵列特定索引处的每个数字。 –

回答

1

我解决了我的问题。我用列表来完成任务。

在将每个索引值转换为int后,我将每个数组索引存储在列表的相对索引处。

使用列表似乎更方便我的方式。 :)

感谢大家。

10

如果你只是想要每个字符的字符代码,你可以用LINQ来完成。

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

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

很好用的LINQ :) – RBT

1

假设我问我的意见是正确的:

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

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

然而,上述只会工作,如果你已经证实,从文本的输入框是数字。

5

如果预期是一个数字的每个字符,可以将其解析为int:

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

字符代码值:

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

你需要处理异常。