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