一、作用
将所有的情况一一列举出来,可以将人能够识别的标识符与计算机能识别的符号相结合
二、使用
枚举也是数据类型,只不过是自定义数据类型,如果想使用,必须先定义枚举
三、目的
枚举是为了提高代码的可读性,易于后期的维护
四、使用步骤
1.定义枚举(定义在类的外面)
2.定义枚举变量
3.使用变量
五、枚举定义的格式:各个枚举值之间以逗号隔开;最后一个枚举值的逗号可以省略;大括号后面的分号可以省略
enum 枚举名称 {
枚举值 1 ,
枚举值 2 ,
枚举值 3 ,
……
}
六、注意
1.枚举值默认情况下都是 int 类型,从0开始
2.枚举值以指定的整数值为主,如果没有指定,则在上一个枚举值的基础上 + 1
3.枚举成员不能相同,但枚举值可以相同
4.枚举值也可以进行算术运算符操作,但是不常用
七、扩展:枚举常用的方法
// 1.获取所有的枚举值
foreach (var i in Enum.GetValues(typeof(Week))) {
Console.WriteLine ((int)i);
}
// 2.获取所有的枚举成员名
foreach (var i in Enum.GetNames(typeof(Week))) {
Console.WriteLine (i);
}
// 3.获取枚举的某个值对应的名称
Console.WriteLine (Enum.GetName(typeof(Week),5));
八、例子
namespace Lesson04_Enum
{
// 定义一个枚举
enum Season
{
Spring,
Summer = 10, // 枚举值可以自己制定
Fall, // 枚举值是在上一个值的基础上+1
Winter
}
enum Week
{
Monday = 1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
class MainClass
{
public static void Main (string[] args)
{
Season s = Season.Winter;
// 使用变量
Console.WriteLine ((int)s);
// 定义一个表示星期的枚举, 从控制台输入一个整数,输出对应的操作
Console.WriteLine ("请输入一个数字:");
// 接受用户的输入
int a = Convert.ToInt32(Console.ReadLine());
// 让用户输入的数字,与枚举值发生关联
Week w = (Week)a; // 把整数强制转换为枚举类型
//
switch (w) {
case Week.Monday:
Console.WriteLine ("啊");
break;
case Week.Tuesday:
Console.WriteLine ("哦");
break;
case Week.Wednesday:
Console.WriteLine ("额");
break;
case Week.Thursday:
Console.WriteLine ("咦");
break;
case Week.Friday:
Console.WriteLine ("唔");
break;
case Week.Saturday:
Console.WriteLine ("嘿嘿");
break;
case Week.Sunday:
Console.WriteLine ("呵呵");
break;
default:
Console.WriteLine ("一周7天你还想有几天!");
break;
}