语法:
[public] enum 枚举名
{
值1,
值2,
值3 // 注意:最后的元素后没有逗号
}
1.public 访问修饰符,放在[] 中括号中,是默认public。公开的,哪都可以访问
2.enum:声明枚举关键字,枚举类型
3.枚举名:规范每个单词首字母大写
4.枚举声明位置:声明在命名空间内,类外边,说明这个命名空间下所有的类都可以用
声明在类中,这个类中所有的方法都使用
作用:规范
1 // QQ的登录状态 2 public enum QQState 3 { 4 OnLine , 5 OffLine , 6 Leave, 7 Busy, 8 QMe 9 }
1 static void Main() 2 { 3 //枚举声明,赋值 4 QQState state = QQState.OnLine; 5 }
****枚举类型和int类相互转换,枚举类型跟int类型是兼容的
1.枚举类型强转int类型
1 //枚举类型强转int类型 2 int n =(int ) state; 3 Console.WriteLine((int)(QQState.OnLine)); 4 Console.WriteLine((int)(QQState.OffLine)); 5 Console.WriteLine((int)(QQState.Leave)); 6 Console.WriteLine((int)(QQState.Busy)); 7 Console.WriteLine((int)(QQState.QMe));
2.将int类型强转枚举类型
QQState state2 = (QQState)n; Console.WriteLine(state2); //输出 Online

1 //枚举练习: 2 //提示用户先择在线状态,并将用户的输入转换成枚举类型,再打印到控制台 3 4 Console.WriteLine("请选择QQ在线状态 1--Online ,2-- OffLine, 3--Leave。。。。"); 5 string input = Console.ReadLine(); 6 7 switch (input) 8 { 9 case "1": 10 state2 = (QQState)Enum.Parse(typeof(QQState), input); 11 Console.WriteLine("您选择的状态是{0}",state2); 12 break; 13 case "2": 14 state2 = (QQState)Enum.Parse(typeof(QQState), input); 15 Console.WriteLine("您选择的状态是{1}", state2); 16 break; 17 case "3": 18 state2 = (QQState)Enum.Parse(typeof(QQState), input); 19 Console.WriteLine("您选择的状态是{2}", state2); 20 break; 21 case "4": 22 state2 = (QQState)Enum.Parse(typeof(QQState), input); 23 Console.WriteLine("您选择的状态是{3}", state2); 24 break; 25 case "5": 26 state2 = (QQState)Enum.Parse(typeof(QQState), input); 27 Console.WriteLine("您选择的状态是{4}", state2); 28 break; 29 default: 30 break; 31 }