14.3 显式设置枚举的成员常量值
我们已经在代码清单14-3的输出中看到,枚举成员Monday为0,Tuesday为1,Wednesday为2,依此类推,最后一个Sunday为6。也就是说,在默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1,但也可以改变这种默认的情况,强制让枚举的成员值从1或者其他任意值开始。枚举的成员不能相同,但成员值可以相同。接下来依然使用之前声明的Week枚举,不同的是,为Monday赋值5,并为Thursday赋值1,看看结果会怎样,如代码清单14-7所示。
代码清单14-7 显式设置枚举的成员常量值
enum Week:int
{
Monday=5,//5
Tuesday,//6
Wednesday,//7
Thursday=1,//1
Friday,//2
Saturday,//3
Sunday=5//5
};
class EnumSample
{
public static void Main()
{
Week w1=Week.Monday;
Week w2=Week.Tuesday;
Week w3=Week.Wednesday;
Week w4=Week.Thursday;
Week w5=Week.Friday;
Week w6=Week.Saturday;
Week w7=Week.Sunday;
System.Console.WriteLine("{0},\t{1}",w1,(int)w1);
System.Console.WriteLine("{0},\t{1}",w2,(int)w2);
System.Console.WriteLine("{0},\t{1}",w3,(int)w3);
System.Console.WriteLine("{0},\t{1}",w4,(int)w4);
System.Console.WriteLine("{0},\t{1}",w5,(int)w5);
System.Console.WriteLine("{0},\t{1}",w6,(int)w6);
System.Console.WriteLine("{0},\t{1}",w7,(int)w7);
}
}
上述代码的运行结果为:
Monday,5
Tuesday,6
Wednesday,7
Thursday,
1
Friday,2
Saturday,3
Monday,5