2011-01-24 43 views
0

可能重複:
Cast a String to an Enum Tag in C#如何將字符串轉換爲C#中的Enum-Tag值(作爲Enum Name)?

如何具有現有枚舉標籤的名稱字符串轉換(有枚舉標題名稱) 成爲類型枚舉

不能成爲Enum列出的變量值之一,
但要成爲Enum類型的Enum-Tag名稱?

舉例來說,我可能有

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

然後

String a = "MyEnum"; 
+2

這個問題似乎大行其道的今天 - 這是怎麼回事? – 2011-01-24 13:58:47

回答

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

你需要使用Enum.Parse解析它作爲枚舉:

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

有這裏考慮幾個元素。首先,Enum.Parse採用目標Enum的類型。其次,它只返回類型對象因此您需要手動將其轉換爲正確的枚舉類型。

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

這應該這樣做

相關問題