无法序列化然后反序列化对象

时间:2019-09-17 07:44:52

标签: c# file serialization stream deserialization

我试图在C#上学习二进制序列化,所以我设置了一个演示:

var b = new BinaryFormatter();

Person p1 = new Person(8, "josh");
Stream s = new FileStream(path, FileMode.Create, FileAccess.ReadWrite);

b.Serialize(s, p1);
var p2 = (Person)b.Deserialize(s);
p2.ToString();

s.Close();

path是在程序运行前不存在的文件的有效地址。 当我运行程序时出现异常:

  

End of Stream encountered before parsing was completed

但是创建了带有序列化对象的文件(来自类型txt)。

从调试器中,我了解到错误的来源是反序列化语句。我试图在序列化和反序列化之间等待task.delay一秒钟,但仍然没有运行。

您能找出问题所在吗?

0 个答案:

没有答案