一个枚举声明可以显式地声明

byte, sbyte, short, ushort, int, uint, 

long 

 

ulong

的一个基本类型。注意那个

char

不能被用在一个基本类

型中。一个没有显式声明一个基本类型的枚举声明基本类型为

int

一个枚举声明可以显式地声明byte, sbyte, short, ushort, int, uint, long 或 ulong的一个基本类型。注意那个char不能被用在一个基本类型中。一个没有显式声明一个基本类型的枚举声明基本类型为int
例子 
enum Color: long { Red, Green, Blue } 声明了一个基本类型为long的枚举。就像例子中一样,一个开发者可以选择使用基本类型long,来使得可以使用long取值范围中的数值而不是int取值范围中的数值,或者防止在将来发生这种情况。
可以使用[Enum].GetUnderlyingType的方法来返回基础类型
每个枚举成员都有相应的常数数值。数据的类型是所在枚举地基本类型。每个枚举成员的常数数值必须在枚举的基本类型的范围之内。例子   enum Color: uint { Red = -1, Green = -2, Blue = -3 }   是错误的,因为常数数值-1, -2, 和 –3 不在基本整数类型uint的范
围之内。
如果枚举成员是在枚举类型中声明的第一个枚举成员,它的默认数值为零。另外,枚举成员的相关数值通过把先前的枚举成员的相关数值加一获得。这个增加的数值必须在可以被基本类型代表的数值的范围之内。
如第一个设置为10,第二个没有设置值,则默认就为11

 

下面的操作符可以北用在枚举类型的数据上: ==, !=, <, >, <=, >=,+,-,^, &, |,~,++, –,sizeof