Я использовал BinaryFormatter для сериализации / десериализации объектов в байтовый массив. Но это слишком медленно. Вот мой код:
IFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
formatter.Serialize(stream, this);
stream.Close();
byte[] currentByteArray = stream.ToArray();
Можно ли улучшить этот код, чтобы ускорить его. Или какие у меня альтернативы? Я видел несколько других сериализаторов, таких как xmlserialization, но я не хочу записывать его в файл, просто как массив байтов.
Заранее спасибо!
stream.Close();
должен быть послеbyte[] currentByteArray = stream.ToArray();
, а не до - person Dmitry Bychenko   schedule 19.11.2015finally
после.ToArray()
. Фактически, поток должен быть простоusing
блоком. - person Aron   schedule 19.11.2015BinaryFormatter
. См. Самый быстрый способ сериализации и десериализации объекта .NET для сравнения сериализаторов. - person dbc   schedule 20.11.2015