繁体   English   中英

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

[英]convert char array to int array c#

我有这个数组

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 System.Linq;添加 using 语句using System.Linq; 那么您可以执行以下操作:

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

如果无法解析A的元素,您将收到异常。

请这样做

  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].ToString()); 
  }

一点点 Linq 应该可以解决问题:

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

你也可以这样做:

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

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

暂无
暂无

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

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