C#枚举类型的定义和使用

实际生活中的月份、星期、性别等这类信息,对于这些比较 复杂的数据的表示,C#提供了枚举类型来保证数据在有实际 意义的合法取值范围内取值。

枚举与结构体类型一样,是由程序员定义的类型。即一种由 一组称为枚举数列表的命名常量组成的独特类型。
枚举类型的定义形式为:

enum 枚举类型名称 {枚举元素1[=数值1], 枚举元素 2[=数值2],…}

enum WEEK { MON=1,TUE,WED,THU,FRI,SAT,SUN}
WEEK是枚举类型,MON等是枚举元素或称为命名的枚举常 量。

每个枚举类型都有一个底层整数类型,默认为int。每个枚举 成员被赋值为一个底层类型的常量值;在默认情况下,编译器 把第一个成员赋值为0,并对每一个后续成员的值比前一个成 员多1。

如果指定了某个枚举常量的值后,其后续的枚举常量就从当 前枚举常量依次递增1。

使用枚举类型时,还需要注意:

①与结构体类型一样,枚举是值类型,因此直接存储它们的数 据,而不是分开存储数据和引用;

②枚举只有一种类型的成员:命名的整数值常量;

③不能对枚举类型的成员使用修饰符。它们都隐式地具有和枚 举相同的可访问性;
④由于枚举类型的成员是常量,即使在没有该枚举类型的变量 时它们也可以访问。使用枚举类型名、成员引用运算符加成员 名的形式就可以实现对枚举类型成员的访问;

⑤不允许对不同枚举类型的成员进行比较,即使它们的结构和 名称完全相同。

⑥通常情况下,最好是在命名空间内直接定义枚举,以便该命 名空间中的所有类都能够同样方便地访问它。但是,还可以将 枚举嵌套在类或结构中。

⑦基础类型指定为每个枚举数分配的存储大小。但是,从 enum 类型到整型的转换需要用显式类型转换来完成。

定义枚举类型变量的语法形式为:

枚举类型名称 枚举变量名列表;
enum WEEK{ MON,TUE,WED,THU,FRI,SAT,SUN} WEEK day;

可以把枚举值赋给枚举类型变量,例如 day=WEEK.SUN;

你可能感兴趣的:(C#笔记)