Я из бинарного файла прочитал заранее известную структуру данных в буфер byte[] buffer.
Как его привести к типу этой структуры, чтобы использовать прочитанные данные?
Здравствуйте, Serginio1, Вы писали:
S>Здравствуйте, zalivnoy, Вы писали:
S>Re: Быстрое преобразование byte[] <--> int и т.п.Автор: Serginio1
Дата: 21.02.05
я прочитал все сообщения, но так и не понял, как последовательность байт из файла преобразовать в структуру.
Не делить же массив на байты и преобразовывать методами класса BitConverter (ToDouble,ToInt32...)
Здравствуйте, zalivnoy, Вы писали:
Z>Я из бинарного файла прочитал заранее известную структуру данных в буфер byte[] buffer.
Z>Как его привести к типу этой структуры, чтобы использовать прочитанные данные?
1) использовать сериализацию
2) исп-ть методы класса
Marshal (
Marshal.PtrToStructure,
StructureToPtr, и тд)
Здравствуйте, zalivnoy, Вы писали:
Z>Здравствуйте, Serginio1, Вы писали:
S>>Здравствуйте, zalivnoy, Вы писали:
S>>Re: Быстрое преобразование byte[] <--> int и т.п.Автор: Serginio1
Дата: 21.02.05
Z>я прочитал все сообщения, но так и не понял, как последовательность байт из файла преобразовать в структуру.
Z>Не делить же массив на байты и преобразовывать методами класса BitConverter (ToDouble,ToInt32...)
Есть класс Buffer помотри его. По сути это memcpy. Единсвенно, что это отностся только к структурам содержащим валуе типов.
И копировать ты можежь только в массив, но создав единичный массив твоего типа Ты волен делать что хочешь. Овекхед не сильно заметен.
Но легко на основе byte[] построить свою структуру со свойствами с использованием BitConverter.
В общем все то, что есть в нативе но с небольшими извращениями
... << RSDN@Home 1.1.4 beta 4 rev. 303>>