字符串到int数组转换c#

时间:2017-06-21 07:29:14

标签: c# arrays type-conversion

我有一个字符串,其值为' 12345678'。我想将此值赋给整数数组,就像数组的第一个索引包含1一样,数组的第二个索引包含2等等。因此,当我写下代码并执行时,我收到的值为48表示0索引,值49表示第二个索引,ascii值为我的号码。 宣言

int[] ArryDIReadValue = new int[DI_COUNT_CHANNEL];
string binary = Convert.ToString(portData, 2);

ArryDIReadValue = binary.Select(n => Convert.ToInt32(n)).ToArray();

有人可以帮助解决这个问题。

3 个答案:

答案 0 :(得分:2)

ArryDIReadValue = binary.Select(n => (n - '0')).ToArray();

简单快捷。

n - 是char。因此,chars 01,... 9包含代码30,31,... 39.因此,要获得int值,我们需要减去每个代码30.我们知道,30是char 0的代码。

答案 1 :(得分:1)

尝试添加ToString(),例如;

ArryDIReadValue = binary.Select(n => Convert.ToInt32(n.ToString())).ToArray();

答案 2 :(得分:1)

使用char.GetNumericValue

ArryDIReadValue = binary.Select(n => (int)char.GetNumericValue(n)).ToArray();