我有一個枚舉:搜索在枚舉一個字符串,並返回枚舉
public enum MyColours
{
Red,
Green,
Blue,
Yellow,
Fuchsia,
Aqua,
Orange
}
和我有一個字符串:
string colour = "Red";
我希望能夠返回:
MyColours.Red
來自:
public MyColours GetColour(string colour)
到目前爲止,我有:
public MyColours GetColours(string colour)
{
string[] colours = Enum.GetNames(typeof(MyColours));
int[] values = Enum.GetValues(typeof(MyColours));
int i;
for(int i = 0; i < colours.Length; i++)
{
if(colour.Equals(colours[i], StringComparison.Ordinal)
break;
}
int value = values[i];
// I know all the information about the matched enumeration
// but how do i convert this information into returning a
// MyColour enumeration?
}
正如你所看到的,我有點卡住了。無論如何按價值選擇和枚舉。喜歡的東西:
MyColour(2)
會導致
MyColour.Green
可能重複的[如何將字符串轉換爲C#中的枚舉?](http://stackoverflow.com/questions/16100/how-do-i-convert-a-string-to- an-enum-in-c) – nawfal 2014-07-17 09:04:54
@nawfal,當我多年前問這個時,沒有發現。已投票結束重複。 – 2014-07-17 09:10:54