.NET 2.x unsafe byte array to struct array - C#
Формулировка задачи:
Есть массив байт размером N.
Есть структура, внутри которой enum поле размером в 1 байт.
Как с помощью unsafe кода преобразовать массив байт в массив структур? Я пробовал, но чего-то хреново вышло, не то что надо. Первый элемент нормально преобразовал, а дальше по нулям
Решение задачи: «.NET 2.x unsafe byte array to struct array»
textual
Листинг программы
private static unsafe MyStruct[] Convert(byte[] data, int structCount) { int structSize = Marshal.SizeOf(typeof(MyStruct)); var arr = new MyStruct[structCount]; fixed (byte* pData = &data[0]) { for (int i = 0; i < structCount; i++) { arr[i] = *(MyStruct*)(pData + (structSize * i)); } } return arr; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д