如何将字符串转换为C#中的Enum-Tag值(作为枚举名称)?

时间:2011-01-24 13:56:35

标签: c# enums

  

可能重复:
  Cast a String to an Enum Tag in C#

如何转换名称为现有enum-TAG的字符串(具有Enum Title的名称) 成为Enum的类型

不成为Enum列出的变量值之一,
但是要成为Enum类型的Enum-Tag名称?

例如,我可能有

Enum MyEnum { A,B,C,D };

然后

String a = "MyEnum";

3 个答案:

答案 0 :(得分:3)

您需要使用Enum.Parse将其解析为Enum:

myEnum result = (myEnum)Enum.Parse(typeof(myEnum), stringToConvert);

这里有几个要考虑的因素。首先,Enum.Parse获取目标枚举的类型。其次,它只返回类型对象,因此您需要手动将其转换为正确的枚举类型。

答案 1 :(得分:1)

MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum), "myname");

答案 2 :(得分:0)

Enum e = (Enum)Enum.Parse(typeof(Enum), "A", true);

这应该做到