Tôi có một bảng liệt kê:
public enum MyColours
{
Red,
Green,
Blue,
Yellow,
Fuchsia,
Aqua,
Orange
}
và tôi có một chuỗi:
string colour = "Red";
Tôi muốn có thể trở lại:
MyColours.Red
từ:
public MyColours GetColour(string colour)
Cho đến nay tôi có:
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?
}
Như bạn thấy, tôi có một chút bế tắc. Có cách nào để chọn một điều tra viên theo giá trị. Cái gì đó như:
MyColour(2)
sẽ dẫn đến
MyColour.Green