为什么我们不需要在C#中声明serialVersionUID(或等效的)?

Var*_*ngh 6 c# java serialization

在Java中,强烈建议所有可序列化类显式声明serialVersionUID,因为默认的serialVersionUID计算对类详细信息高度敏感,并且编译器实现不可靠.

C#中的序列化有什么特别之处?

Jua*_*uan 1

.Net 中的序列化比 Java 中的序列化要简单一些。

默认情况下,它支持新字段,只是默认它们,并且它只是忽略任何它不期望的数据。

您仍然可以通过在类中实现 ISerialized 接口并向类中添加您自己的自定义 VersionId 并在其中进行检查来实现相同类型的版本控制。

您可以在这里阅读更多相关内容