问题
In Java it is strongly recommended that all serializable classes explicitly declare serialVersionUID since the default serialVersionUID computation is highly sensitive to class details and compiler implementation is unreliable.
What's so special about serialization in C#?
回答1:
In .Net Serialization is less cranky than in Java.
By default it supports new fields just defaulting them, and it just ignore any data it doesn't expect.
You can still implement the same kind of version control by implementing the ISerializable interface in your class and adding your own custom VersionId to your class and check it there.
You can read more about this here
来源:https://stackoverflow.com/questions/30185315/why-we-need-not-to-declare-a-serialversionuidor-equivalent-in-c