Подтвердить что ты не робот

Как преобразовать массив байтов в массив int?

Как преобразовать массив байтов в массив int? У меня есть массив байтов, содержащий 144 элемента, и мои попытки были довольно неэффективными из-за моей неопытности. Прошу прощения, если об этом ответили раньше, но я не мог найти хороший ответ нигде.

4b9b3361

Ответ 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));
}

Примечание: при необходимости позаботьтесь о контенте. (И в большинстве случаев это будет)