【发布时间】:2015-07-28 07:48:47
【问题描述】:
枚举字符串转换让我感到惊讶
如果我这样做:
(编辑:这个断言是有争议的 - 仅当枚举变量实例具有无效值时才为真)
Convert.ToString(MyEnum.MyEnumValue); // Returns Integer Representation
如果我这样做了
MyEnum.MyEnumValue.ToString(); // Returns `MyEnumValue`
为什么会出现这种行为或者我错过了什么?
【问题讨论】:
-
你的枚举定义是什么样的? :)
-
输出没有问题。正如你已经说过的。第一个是转换,第二个是对象的字符串表示。
-
请写一个可编译的重现,因为当我尝试这个时,你描述的行为不会发生。在这两种情况下,它都返回
MyEnumValue而不是整数表示。 -
@M.kazemAkhgary 不,基本上它们是相同的。请参阅reference source。