C#学习笔记(8)枚举
枚举
8.1枚举
枚举是由程序员定义的类型,与类或结构一样。
(1)与结构一样,枚举是值类型,因此直接存储它们的数据,而不是分开存储成引用和数据。
(2)枚举只有一种类型的成员:命名的整数值常量。
下面的代码展示了一个示例,声明了一个名称为 Traffictight 的新枚举类型,它含有3个成员。注意成员声明列表是逗号分隔的列表,在枚举声明中没有分号。
关键字枚举名称
enum Trafficlight
{
Green, //逗号分隔,没有分号
Yellow, //逗号分隔,没有分号
Red
}
每个枚举类型都有一个底层整数类型,默认为int。(这里跟C++一致)
(1)每个枚举成员都被赋予一个底层类型的常量值。
(2)在默认情况下,编译器对第一个成员赋值为0,对每一个后续成员赋的值都比前一个成员多1。
8.2设置底层类型和显示值
可以把冒号和类型名放在枚举名之后,这样就可以使用int以外的整数类型。类型可以是任
何整数类型。所有成员常量都属于枚举的底层类型。
enum TrafficLight : ulong
{
……
}
成员常量的值可以是底层类型的任何值。要显式地设置一个成员的值,在枚举声明中的变量名之后使用初始化表达式。尽管不能有重复的名称,但可以有重复的值,如下所示。
enum TrafficLight
{
Green=10,
Yellow=15,
Red=15//重复的值
}
8.3关于位标识,Flags特性放在笔记的最后

浙公网安备 33010602011771号