如何将字符数组转换为整数?

3

我正在从文本框中获取输入。我已经将来自文本框的输入数字保存到了一个数组中,就像这样:

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

现在我想把数组转换成整数数组,因为我想对数组的每个索引执行数学运算。

如何实现这个目标呢? 谢谢。


2
我们需要知道你的意图。你是期望一个数字值的字符串,还是想将每个 char 转换为其字符编码? - Ed S.
你是否已经实现了代码来确保文本框输入为数字?你上面的代码只是将文本框中的每个字符转换为其数字CHAR值,这是你的意图,还是你想将输入字符串转换为int,例如"1234"转换为1234? - Maess
我想要获取数组中特定索引处的数字值。 - Muhammad Ali Dildar
@Maess- 我加了一个键盘事件检查,这样文本框只能输入数字值。 - Muhammad Ali Dildar
4个回答

10

如果您只想获取每个字符的字符编码,可以使用 LINQ 来完成。

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

很好地运用了LINQ :) - RBT

6
如果每个字符都是数字,您可以将其解析为整数:
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();

您需要处理异常。


1

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

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

对我来说,使用列表似乎更方便。 :)

感谢大家。


1

假设我在评论中提出的问题是正确的:

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

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

然而,仅当您已经验证文本框输入为数字时,上述方法才有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接