Преобразовать массив char в массив int С#

У меня есть этот массив

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

И я хочу преобразовать его в int []

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

Любые идеи?

Я только начал программировать

Спасибо

Ответ 2

Чтобы получить числовое значение символа цифры (от '0' до '9'), вы можете просто вычесть код '0' из своего собственного.

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

Символам цифр присваиваются последовательные кодовые обозначения. '0' имеет код 48; '1' имеет код 49; и т.д. до '9', который имеет код 57. Таким образом, когда вы вычитаете двухзначные символы, вы получите такой же результат, как если бы вы вычитали свои числовые значения. Вычитание '0' из любой цифры даст вам последнее абсолютное значение.

Ответ 3

Добавьте оператор using для using System.Linq;, затем вы можете сделать следующее:

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

Вы получите исключение, если элемент в A не может быть проанализирован.

Ответ 4

Пожалуйста, сделайте вот это

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

Ответ 5

Немного Linq должен сделать трюк:

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

Ответ 6

Вы также можете сделать это:

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

Это выберет весь массив символов как строку, преобразует их в массив, а затем вернет целое число массива.