枚举类型是一种值类型,它用于声明一组命名的常数,也就是声明一系列常量。
格式:
enum 枚举类型名{
常量名1,常量名2,……常量名n
}
enum 枚举类型名:整型类型名{
常量名1,常量名2,……常量名n
}
enum 枚举类型名{
常量名1,常量名2,……常量名i=初值,……常量名n
}
例如:
把字符串 Sunday、Monday、 Tuesday、 Wednesday、 Thursday、 Friday、 Saturday 映射到数字 0、1、2、3、4、5、6上,既能增强可读性,又可以参与运算。
enum WeekDays {
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}
1)枚举类型是值类型(不用new来初始化)。
2)枚举类型的定义(包括下面的结构)是定义类型,不是定义变量!!!
定义的位置:
可以与类平行(建议放置位置),也可以放在类中,不能放在函数中。
使用的是枚举类型的变量,而不是类型
3)默认情况下,枚举中每个元素的基础类型是int。可以使用冒号指定另一种整数值类型。
4)如果未在枚举数列表中指定元素的值,则值将自动从0开始按 1 递增。
5)可以直接用枚举项关联的整数进行赋值,但必须进行显式转换。
6)所有枚举都是 Enum 类型的实例,可以使用 System.Enum 方法发现和操作枚举值。
使用枚举类型的好处:
1)使用直观的标识符代替数字,增强了程序的可读性
2)每个枚举项都关联着一个数字,可以参加计算和循环
for (today = WeekDays.Sunday; today <= WeekDays.Saturday; today ){
Console.WriteLine(today);
}
3)枚举变量只能取枚举项中的值,有利于编译器检查出非法的赋值
4)在IDE中,IntelliSense可以自动列出定义的值
常常用于switch语句