我正在使用二进制序列化(BinaryFormatter)作为临时机制,将状态信息存储在一个相对复杂(游戏)对象结构的文件中; 文件比我想象的要大得多,我的数据结构包括递归引用 - 所以我想知道BinaryFormatter是否实际存储了相同对象的多个副本,或者我的基本"对象和值的数量是否应该有"arithmentic是偏离基础的,或者其他地方的过度规模来自于.
搜索堆栈溢出我能够找到Microsoft的二进制远程格式的规范:http://msdn.microsoft.com/en-us/library/cc236844( PROT.10) .aspx
我找不到的是任何现有的查看器,它使您能够"查看"二进制格式化输出文件的内容 - 获取文件中不同对象类型的对象计数和总字节数等;
我觉得这一定是我的"google-fu"让我失望(我什么都没有) - 任何人都可以帮忙吗?这一定是以前做过的,对吧?
更新:我找不到它并且没有得到答案所以我把相对快速的东西放在一起(链接到下面的可下载项目); 我可以确认BinaryFormatter不存储同一对象的多个副本,但它会向流中打印相当多的元数据.如果您需要高效存储,请构建自己的自定义序列化方法.