枚举
用 enum 关键字定义枚举:
enum<typeName>
{
<value1>,
<value2>,
<value3>,
...
<valueN>
}
接着声明这个新类型变量:
<typeName> <varName>;
并赋值:
<varName> = <typeName>.<value>;
枚举使用一个基本类型来存储。枚举类型可取的每个值都存储为该基本类型的一个值,默认情况下该类型为int。通过在枚举声明中添加类型,就可以执行其它基本类型:
enum<typeName> : <underlyingType>
{
<value1>,
<value2>,
<value3>,
...
<valueN>
}
枚举的基本类型可以是 byte、sbyte、short、ushort、int、uint、long 和 ulong。
默认情况下,每个值都会根据定义的顺序从 0 开始,被自动赋予对应的基本类型值。意味着<valuel1>为0,<valuel2>为1,<valuel3>为2,…
可以重写这个赋值过程:使用=运算符,指定每个枚举的实际值:
enum<typeName> : <underlyingType>
{
<value1> = <actualVal1>,
<value2> = <actualVal2>,
<value3> = <actualVal3>,
...
<valueN> = <actualValN>
}
还可以使用一个值作为另一个枚举的基础值,为多个枚举指定相同的值:
enum<typeName> : <underlyingType>
{
<value1> = <actualVal1>,
<value2> = <value1>,
<value3>,
...
<valueN> = <actualValN>
}
未赋值的任何值都会自动获得一个初始值,这里使用的值是从比上一个明确声明的值大1开始的序列。例如,在上面的代码中, <value3>的值是<value1>+1。