У меня есть полностью определённый объект некоторого класса. Я хочу превратить его в массив байтов, а затем массив байтов превратить обратно в этот объект. Как это можно сделать? Явное преобразование тут не работает.
Re: Как преобразовать произвольную структуру в массив байтов
Здравствуйте, lesovick, Вы писали:
L>У меня есть полностью определённый объект некоторого класса. Я хочу превратить его в массив байтов, а затем массив байтов превратить обратно в этот объект. Как это можно сделать? Явное преобразование тут не работает.
Смотря по каким правилам надо преобразовать. Что это: сериализация, интероп?
Re[2]: Как преобразовать произвольную структуру в массив бай
2) По каким правилам? Не знаю. Хоть по каким-нибудь правилам. По любым правилам.
Как я понимаю, любой структуре должен однозначно соответствовать массив байтов, её представляющий. Вот я и хочу его получить. По-моему достаточно тривиальная задача, вот я и подумал, что наверняка для этого должны быть предусмотрены простые средства. Или я что-то не так понимаю?
3) Общая задача состоит в передаче пакета данных по сети по протоколу UDP. Функция UdpClient.Send отправляет данные в виде массива байтов.
Re[3]: Как преобразовать произвольную структуру в массив бай
Здравствуйте, lesovick, Вы писали:
L>Как я понимаю, любой структуре должен однозначно соответствовать массив байтов, её представляющий. Вот я и хочу его получить. По-моему достаточно тривиальная задача, вот я и подумал, что наверняка для этого должны быть предусмотрены простые средства. Или я что-то не так понимаю?
Ну тогда выбирайте из классов System.Runtime.Serialization.Formatters.Binary.BinaryFormatter и System.Runtime.InteropServices.Marshal (если структура — unmanaged тип).
Re[4]: Как преобразовать произвольную структуру в массив бай
Здравствуйте, nikov, Вы писали:
L>>Как я понимаю, любой структуре должен однозначно соответствовать массив байтов, её представляющий. Вот я и хочу его получить. По-моему достаточно тривиальная задача, вот я и подумал, что наверняка для этого должны быть предусмотрены простые средства. Или я что-то не так понимаю?
N>Ну тогда выбирайте из классов System.Runtime.Serialization.Formatters.Binary.BinaryFormatter и System.Runtime.InteropServices.Marshal (если структура — unmanaged тип).
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, nikov, Вы писали:
L>>>Как я понимаю, любой структуре должен однозначно соответствовать массив байтов, её представляющий. Вот я и хочу его получить. По-моему достаточно тривиальная задача, вот я и подумал, что наверняка для этого должны быть предусмотрены простые средства. Или я что-то не так понимаю?
N>>Ну тогда выбирайте из классов System.Runtime.Serialization.Formatters.Binary.BinaryFormatter и System.Runtime.InteropServices.Marshal (если структура — unmanaged тип).
N>Примеров можно нарыть в интернете: http://www.bing.com/search?q=convert+struct+to+byte+array
С С# никогда не работал, просто интересно, такое там не прокатит?