目录
- 枚举的定义
- 使用方式
- 优点
- 代码示例
枚举的定义
枚举是整数类型,用户自定义的整数类型的一个集合。
使用方式
public enum A
{a=0,b=1,c=2
}
注意:枚举定义的不同变量之间要用“,”分割,结尾不需要加上“,”
优点
- 可以使代码更易于维护
- 可以使代码更清晰
- 更易于输入与使用枚举值
代码示例
using System; 2 3 class Program 4 { 5 public enum Color 6 { 7 星期一 = 0xff0000 , 8 星期二 = 0xFFA500 , 9 星期三 = 0xFFFF00
14 }
15
16 static void Main( string [] args)
17 {
18 Week week = Week.星期一 ;
19 string WeekDayString = " 星期一 " ;
20 int WeekDay = 0x0000FF ;
21
22 // 枚举转字符串
23 string enumStringOne = week .ToString(); //效率低,不推荐
24 string enumStringTwo = Enum.GetName( typeof (Week), week);//推荐
25
26 // 枚举转值
27 int enumValueOne = week .GetHashCode();
28 int enumValueTwo = ( int )week ;
29 int enumValueThree = Convert.ToInt32(week );
30
31 // 字符串转枚举
32 Week enumOne = (Week)Enum.Parse( typeof (Week), WeekString);
33
34 // 字符串转值
35 int enumValueFour = ( int )Enum.Parse( typeof (Week), WeekString);
36
37 // 值转枚举
38 Week enumTwo = (Week)weekValue;
39 Week enumThree = (Week)Enum.ToObject( typeof (Week), weekValue);
40
41 // 值转字符串
42 string enumStringThree = Enum.GetName( typeof (Week), weekValue);
43 }
44 }
45
46
47 // 假设有枚举值如下:
48
49 public enum DbProviderType
50
51 {
52
53 SqlServer,
54
55 Oracle
56
57 }
58 // 1、将枚举转换为字符串:
60 string strDbType = DbProviderType.SqlServer.ToString();
61 // 2、将字符串转换为枚举:
62 DbProviderType dbType = (DbProviderType)Enum.Parse( typeof (DbProviderType), strDbType, true );