将char数组转换为int数组c#

我有这个arrays

char[] A = ['1', '2', '3', '4'] 

我想将其转换为int []

 int[] Aint=[1, 2, 3, 4] 

有任何想法吗?

我刚刚开始编程

谢谢

另一个选项,使用Array.ConvertAllChar.GetNumericValue

 int[] Aint = Array.ConvertAll(A, c => (int)Char.GetNumericValue(c)); 

要获取数字字符的数值( '0''9' ),您可以简单地从自己的代码中减去'0'的代码点。

 int[] Aint = A.Select(a => a - '0').ToArray(); 

数字字符被分配连续的代码点。 '0'有代码点48 ; '1'有代码点49 ; 依此类推,直到'9' ,其代号为57 。 因此,当您减去两位数字符时,您将获得与减去其数字值相同的结果。 从任何数字中减去'0'都可以得到后者的绝对值。

添加using语句以using System.Linq; 然后你可以做以下事情:

 int[] Aint = A.Select(i => Int32.Parse(i.ToString())).ToArray(); 

如果无法解析A的元素,您将获得exception。

请这样做

  char[] A = ['1', '2', '3', '4']; int[] Aint = new int[A.Length]; for (int i = 0;i < A.Length;i++) { Aint[i] = Convert.toInt32(A[i]); } 

一点Linq应该做的伎俩:

 int[] Aint = A.Select(c => c - 48).ToArray(); // or c - '0' 

你也可以这样做:

 int[] Aint = A.Select(c => Convert.ToInt32(c.ToString())).ToArray(); 

这将选择所有字符数组作为字符串,将它们转换为数组,然后返回一个数组的整数。