枚举(enum):应用于有多个选择情况下的场合,枚举类型为一组符号常数提供了一个类型名称
枚举的声明:
1 enum 枚举名 2 { 3 枚举成员 [=常数表达式] 4 ...... 5 }
使用枚举的优点:
1.使程序的可读性更好
2.容易检查出错误
使用枚举注意事项:
枚举量的运算
每个枚举类型自动从类System.Enum派生。因此,Enum类的方法和属性可以被用在一个枚举类型的数值上
Enum-->Int
(1)因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。
例如:(int)Colors.Red, (byte)Colors.Green
Int-->Enum
(1)可以强制转换将整型转换成枚举类型。
例如:Colors color = (Colors)2 ,那么color即为Colors.Blue
Enum-->String
(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;
(2)利用Enum的静态方法GetName与GetNames:
例如:Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors), Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))将返回枚举字符串数组。
String-->Enum
(1)利用Enum的静态方法Parse:
例如:(Colors)Enum.Parse(typeof(Colors), "Red")
1 enum Color 2 { 3 Red, 4 Yellow, 5 Green 6 } 7 class TrafficLight 8 { 9 public static void WhatInfo(Color color) 10 { 11 switch(color) 12 { 13 case Color.Red: 14 Console.WriteLine("Stop!"); 15 break; 16 case Color.Yellow: 17 Console.WriteLine("Warning!"); 18 break; 19 case Color.Green: 20 Console.WriteLine("Go!"); 21 break; 22 default: 23 break; 24 } 25 } 26 } 27 class Program 28 { 29 static void Main(string[] args) 30 { 31 Color c = Color.Red; 32 Console.WriteLine(c.ToString()); 33 TrafficLight.WhatInfo(c); 34 c = (Color)Enum.Parse(typeof(Color), "Green"); 35 Console.WriteLine(c.ToString()); 36 TrafficLight.WhatInfo(c); 37 Console.ReadKey(); 38 } 39 }
运行结果: