Как преобразовать массив байтов в массив int?
Как преобразовать массив байтов в массив int? У меня есть массив байтов, содержащий 144 элемента, и мои попытки были довольно неэффективными из-за моей неопытности. Прошу прощения, если об этом ответили раньше, но я не мог найти хороший ответ нигде.
Ответы
Ответ 1
Простой:
//Where yourBytes is an initialized byte array.
int[] bytesAsInts = yourBytes.Select(x => (int)x).ToArray();
Убедитесь, что вы включили System.Linq
с использованием объявления:
using System.Linq;
И если LINQ не ваша вещь, вы можете использовать это вместо:
int[] bytesAsInts = Array.ConvertAll(yourBytes, c => (int)c);
Ответ 2
Я знаю, что это старый пост, но если вы в первую очередь искали массив целых чисел, упакованных в массив байтов (и он мог бы рассматривать ваш массив байтов из 144 элементов), это способ сделайте это:
var size = bytes.Count() / sizeof (int);
var ints = new int[size];
for (var index = 0; index < size; index++)
{
ints[index] = BitConverter.ToInt32(bytes, index * sizeof (int));
}
Примечание: при необходимости позаботьтесь о контенте. (И в большинстве случаев это будет)