.NET 4.x Сериализация, десериализация и MemoryStream - C#

Узнай цену своей работы

Формулировка задачи:

Утрированная задача, пытаюсь разобраться в принципе работы... хочу запихнуть объект в поток, преобразовать в строку, потом получить обратно из строки поток, а после - объект исходный...
Icon icon = как-то определен;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms_in = new MemoryStream();
 
bf.Serialize(ms_in, icon);
string str = System.Text.Encoding.Default.GetString(ms_in.ToArray());
 
MemoryStream ms_out = new MemoryStream();
byte[] byte_arr = Encoding.UTF8.GetBytes(str);
ms_out.Write(byte_arr, 0, str.Length);
 
icon = (Icon)bf.Deserialize(ms_out); //<--здесьSerializationException: EndOfStreamEncounteredBeforeParsingWasCompleted.

Решение задачи: «.NET 4.x Сериализация, десериализация и MemoryStream»

textual
Листинг программы
byte[] byte_arr = Encoding.UTF8.GetBytes(str);
 MemoryStream ms_out = new MemoryStream(byte_arr);
icon = (Icon)bf.Deserialize(ms_out);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.714 из 5