enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常数组成的独特类型。每种枚举类型都有基础类型,该类型可以是除 char 以外的任何整型。枚举元素的默认基础类型为 int。默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。例如:
enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
在此枚举中,Sat 为 0,Sun 为 1,Mon 为 2,依此类推。枚举数可以具有重写默认值的初始值设定项。例如:
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
在此枚举中,强制元素序列从 1 而不是 0 开始。
可以给 Days 类型的变量赋以基础类型范围内的任何值,所赋的值不限于已命名的常数。
enum E 的默认值为表达式 (E)0 产生的值。
enum initialization:
using System;
public class EnumTest
{
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
static void Main()
{
int x = (int)Days.Sun;
int y = (int)Days.Fri;
Console.WriteLine("Sun = {0}", x);
Console.WriteLine("Fri = {0}", y);
}
}
输出
Sun = 2
Fri = 7
// Using long enumerators
using System;
public class EnumTest
{
enum Range :long {Max = 2147483648L, Min = 255L};
static void Main()
{
long x = (long)Range.Max;
long y = (long)Range.Min;
Console.WriteLine("Max = {0}", x);
Console.WriteLine("Min = {0}", y);
}
} 输出
Max = 2147483648
Min = 255