Fork me on GitHub

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特性放在笔记的最后

posted @ 2022-07-05 11:10  衔清风与共  阅读(130)  评论(0)    收藏  举报