我怀疑,这两个FirstValue
并Two
有1的内在价值,因此系统不知道哪个字符串输出.
public enum Numbers : int { One, // defaults to 0 Two, // defaults to 1 Three, // defaults to 2 Four, // defaults to 3 FirstValue = 1 // forced to 1 }
每个枚举值都有一个唯一的整数值,但每个整数值都没有唯一的枚举值.
解析时"two"
,它将作为整数在内部存储1
.然后,当您尝试将其转换回字符串时,根据用于查找该名称的技术,您可以获得"Two"
或者"FirstValue"
.正如您所说,解决方案是为每个枚举值赋予一个定义的整数值.
我怀疑,这两个FirstValue
并Two
有1的内在价值,因此系统不知道哪个字符串输出.
public enum Numbers : int { One, // defaults to 0 Two, // defaults to 1 Three, // defaults to 2 Four, // defaults to 3 FirstValue = 1 // forced to 1 }
每个枚举值都有一个唯一的整数值,但每个整数值都没有唯一的枚举值.
解析时"two"
,它将作为整数在内部存储1
.然后,当您尝试将其转换回字符串时,根据用于查找该名称的技术,您可以获得"Two"
或者"FirstValue"
.正如您所说,解决方案是为每个枚举值赋予一个定义的整数值.