C#学习

枚举

2017-10-11  本文已影响0人  刈七七

枚举是由程序员定义的类型,与类或结构一样。

(枚举就是一一列举,将所有的情况都列举出来,那么取值的时候只能是这几种情况的一种,不能是别的。摘自网友回答)

1.与结构一样,枚举是值类型。因此它直接存储他们的数据,而不是分开存储成引用和数据。

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

关键字  enum

例:

enum simple{

Green,   // 枚举声明中没有分号,成员声明列表是都好分隔开的;

Yellow,

Red

}

每个枚举类型都有一个底层整数类型,默认为int;

在默认情况下,编译器把第一个成员赋值为0,并对每一个后续成员赋的值比前一个成员多1;

二、

设置显示底层类型和显示值

可以把冒号和类型名放在枚举名之后,这样就可以使用int以外的整数类型。类型可以是任何整数类型。所有成员常量都属于枚举的底层类型。

如果不初始化一个成员常量,编译器隐式的给它赋一个值。(值为上一个成员变量加1)

 三   位标志  (暂不理解)

    程序员们长期使用单个字(single word)的不同位作为表示一组开/关标志的紧凑方法。称为标志字,枚举提供了实现它的方法。

一般步骤如下:

1)、确定需要多少个位标志,并选择一种有足够多位的无符号类型来保存它。

2)、确定每个位位置代表什么,并给他们一个名称。声明一个选中的整数类型的枚举,每个成员由一个位位置表示。

3)、使用按位或(or)运算符设置保持该位标志的字中的适当的位。

4)、使用按位与(AND)运算符,或HasFlag方法解开位标志。

上一篇 下一篇

猜你喜欢

热点阅读