如果想定义一枚举可以和int/byte等互换,则在定义枚举的时候需要指定基础数据类型(underlyingType),如下代码定义了Color枚举类似,可以与byte互转,亦能通过Enum.Parse方法将String转为枚举:
enum Color : byte
{
red=1,
green=2,
blue=3
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Color lvColor = Color.blue;
byte lvByteCol = (byte)lvColor;
Color lvColor2 =(Color) Enum.Parse(typeof(Color), "green");
Color lvColor3 = (Color)1;
if (lvColor2 == Color.green) {
this.Title = String.Format("{0},{1},{2}", lvColor,lvByteCol,lvColor3);
}
}