可能重複:
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";
可能重複:
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";
MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum), "myname");
你需要使用Enum.Parse解析它作爲枚舉:
myEnum result = (myEnum)Enum.Parse(typeof(myEnum), stringToConvert);
有這裏考慮幾個元素。首先,Enum.Parse採用目標Enum的類型。其次,它只返回類型對象因此您需要手動將其轉換爲正確的枚舉類型。
Enum e = (Enum)Enum.Parse(typeof(Enum), "A", true);
這應該這樣做
這個問題似乎大行其道的今天 - 這是怎麼回事? – 2011-01-24 13:58:47