这是一个 C# 3.0 Winform 问题。
我想克隆一个大的(实际上不是很大)复杂的对象。为了惰性地执行此操作,我将其序列化为 MemoryStream 并使用 BinaryFormatter.UnsafeDeserialize(MemoryStream, null) 方法来获取克隆的对象。在 UnsafeDeserialize() 方法内部,总是会抛出 OutOfMemory 异常。内存要足够。
我读到过一些有关此问题的 .net bug,但不确定这里是否是这种情况。
有人知道为什么会发生这种情况吗?有什么解决方法吗?谢谢。
最佳答案
也许是一个愚蠢的问题,但您是否记得在反序列化之前将 MemoryStream 倒回到流的开头?
分享您的一些代码也可能会有所帮助。
关于c# - C# 中从 MemoryStream 反序列化抛出 OutOfMemory 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1136061/