我正在尝试从C转换到C#,有一些关于将对象保存到文件和序列化的问题。
在C中,如果想要保存数据结构,我学过的方法是将其保存为二进制文件而不是文本格式的字符串,因为它不需要编码/解码和匹配字符串到字段。它存在于内存快照中,通常更好,但在C#中,这种方法似乎不同。它会将对象字段分别转换为字符串或其他格式,然后在必要时重新构建对象。我不确定二进制序列化如何工作,但我认为它仍会将数据转换为某种格式,并不存在为纯非格式化的内存快照。
为什么C#不使用没有任何编码/解码的“内存快照”方法? 我唯一能想到的原因是与其他代码和环境的兼容性有关,也可能与对象的复杂性有关。