Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 枚举声明更改时进行枚举反序列化_C#_Serialization_Enums - Fatal编程技术网

C# 枚举声明更改时进行枚举反序列化

C# 枚举声明更改时进行枚举反序列化,c#,serialization,enums,C#,Serialization,Enums,如果我用某个值的enum序列化一个类,但是在反序列化时我修改了enum声明。序列化枚举的int值将对应于新的枚举名称,而不是最初序列化的名称 那么,反序列化程序是为我比较实际的枚举名,还是返回不同的名称?在C#中,枚举只是一个美化的整数。它将序列化为整数,并从整数反序列化。它不会比较名称,而是比较值。C#枚举可以是整数、长等。因此,确保版本兼容性的唯一方法是序列化其他内容(例如字符串),然后维护一个将字符串映射到枚举的字典,例如?在C#中,枚举只是美化的整数。它将序列化为整数,并从整数反序列化。

如果我用某个值的enum序列化一个类,但是在反序列化时我修改了enum声明。序列化枚举的
int
值将对应于新的枚举名称,而不是最初序列化的名称


那么,反序列化程序是为我比较实际的枚举名,还是返回不同的名称?

在C#中,枚举只是一个美化的整数。它将序列化为整数,并从整数反序列化。它不会比较名称,而是比较值。C#枚举可以是整数、长等。因此,确保版本兼容性的唯一方法是序列化其他内容(例如字符串),然后维护一个将字符串映射到枚举的字典,例如?在C#中,枚举只是美化的整数。它将序列化为整数,并从整数反序列化。它不会比较名称,而是比较值。C#枚举可以是整数、长等。因此确保版本兼容性的唯一方法是序列化其他内容(例如字符串),然后维护一个将字符串映射到枚举的字典,例如?