繁体   English   中英

将字符串数字转换为数组C#

[英]Convert string numbers to Array C#

可以说我有一个string str = "012345"; 我想将其转换为看起来像intAry = {0, 1, 2, 3, 4, 5};的数组intAry = {0, 1, 2, 3, 4, 5}; 有任何想法吗?

我是这样尝试的

for (int i = 0; i < str.Length; i++)
{
   intAry[i] = Convert.ToInt32(str[i]);
}

但是去数组的是48、49等。我应该在这里使用哪种正确的方法?

    for (int i = 0; i < str.Length; i++)
        intAry[i] = str[i] - '0';

更新资料

或作为LINQ:

var array = str.Select(ch => ch - '0').ToArray();

这个怎么样。

  string source = "12345";
   Int32[] array=source.Select(x => Int32.Parse(x.ToString())).ToArray();

但请记住, 源中的每个字符都应可转换为整数

输入48、49等,因为这是ASCII值“ 0”。 如果从char中减去“ 0”,它将为您提供正确的整数。 无需转换。

intAry[i] = str[i] - '0';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM