【发布时间】:2010-12-14 01:34:36
【问题描述】:
我有某种类型的序列化数组。 有没有办法将新对象附加到这个序列化数组(以序列化形式)而不需要将已经保存的集合读入内存?
例子:
我有一个 file.xml,包含 10^12 个元素的 XML 序列化的实体数组。我需要在序列化文件中添加另外 10^5 个元素,但我不想读取所有以前的元素,追加新元素并将新数组写入流,因为它会占用大量资源(尤其是内存) .
如果它需要二进制序列化器,我不会有任何问题。
【问题讨论】:
-
这个问题是混搭的。什么是“XML 序列化数组”?只是一个带有根元素的 XML 文件,然后是很多子元素,没有其他层次结构?这个问题完全取决于数据的结构,关于它的细节很少。
-
使用 IFormatter.Serialize() 序列化的类的数组。实际上,序列化程序的类型并不重要。出于性能原因,我稍后可能会使用二进制文件。
标签: c# optimization memory serialization