Подскажите, пожалуйста, удобный способ последовательного считывания из byte[] на C#.
Основная задача, заполнить считанными данными поля в массиве объектов. В объектах встречаются UInt32 и Double-поля.
Или может лучшим вариантом будет хранение структуры в байтовом виде? А потом считывать её.
Здравствуйте, M.A.V., Вы писали:
MAV>Подскажите, пожалуйста, удобный способ последовательного считывания из byte[] на C#. MAV>Основная задача, заполнить считанными данными поля в массиве объектов. В объектах встречаются UInt32 и Double-поля.
Читать можно используя BinaryReader
MAV>Или может лучшим вариантом будет хранение структуры в байтовом виде? А потом считывать её.
Да, можно описать соотв. образом структуру и потом, восользоваться классом Marshal для копирования ее в двоичный вид
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, M.A.V., Вы писали:
MAV>>Или может лучшим вариантом будет хранение структуры в байтовом виде? А потом считывать её.
TK>Да, можно описать соотв. образом структуру и потом, восользоваться классом Marshal для копирования ее в двоичный вид
TK, подскажи, какой метод в Marshal нужно использовать?
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, M.A.V., Вы писали:
MAV>>TK, подскажи, какой метод в Marshal нужно использовать?
TK>Marshal.PtrToStructure. Предварительно надо получить указатель на начало данной структуры в массиве (GCHandle.AddrOfPinnedObject)
TK, а по поводу совместимости...
Если аналогичную структуру описать в С++ (в VS 6.0), записать её с данными в файл, считывая её из C# таким способом какие-нибудь проблемы могут быть?
Здравствуйте, M.A.V., Вы писали:
MAV>Если аналогичную структуру описать в С++ (в VS 6.0), записать её с данными в файл, считывая её из C# таким способом какие-нибудь проблемы могут быть?
Тут основной минус — придется следить за тем, что-бы структуры в VS 6.0 и в C# были описаны одинаково.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, M.A.V., Вы писали:
MAV>>Если аналогичную структуру описать в С++ (в VS 6.0), записать её с данными в файл, считывая её из C# таким способом какие-нибудь проблемы могут быть?
TK>Тут основной минус — придется следить за тем, что-бы структуры в VS 6.0 и в C# были описаны одинаково.
Да, это полагается само собой. Тогда будем действовать смело)
Спасибо большое.