Исключение BitConverter, целевой массив слишком мал

Это довольно просто создать. У меня есть простой байтовый массив с доказательством того, что он содержит данные во время выполнения:

Тогда я просто делаю

var bytedata = BitConverter.ToUInt32(byte_array,0);

Он компилируется, но я получаю Argument Exception во время выполнения это говорит о том, что целевой массив слишком мал.

Из документации Microsoft MSDN:

byte[] bytes = { 0, 0, 0, 25 };
int i = BitConverter.ToInt32(bytes, 0);

https://msdn.microsoft.com/en-us/library/bb384066.aspx

1 ответ

Решение

Размер целого числа (в C#) составляет 4 байта. Для успешного преобразования вам нужно как минимум 4 байта. Выборка показывает, что их всего 3.

(Не уверен, почему в сообщении написано "массив назначения". Это скорее "источник".)

Другие вопросы по тегам