您能告诉我第一行如何转换为int,第二行不起作用吗?
public enum SomeEnumerator { AndHisValue, second, third }
int a = (int)(SomeEnumerator.AndHisValue);
int a = int.Parse(SomeEnumerator.AndHisValue);
AndHisValue
的类型是字符串。
答案 0 :(得分:1)
如图所示,SomeEnumerator
不是字符串类型,而是enum
。
string
常量在它们周围用“。”表示。enum
常量,例如SomeEnumerator.AndHisValue
是它们自己的值类型,每个值通常都有各自不同的值。
您可以直接将任何enum
值强制转换为int
或string
,但由于int.Parse()
期望string
,您不能使用枚举器值这里
(有关枚举的信息,请参见https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/enum)