上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1.3 枚举类型
枚举类型是自System.Enum派生的一种独特的值类型,它用于声明一组命名的常数。每种枚举类型均有一种基础类型,此基础类型可以是除char类型以外的任何类型。
枚举元素的默认基础类型为int。默认情况下,第一个元素的值为0,后面每个枚举元素的值依次递增1。例如:
enum WeekDay{ Sun , Mon , Tue , Wed , Thu , Fri , Sat }
在此枚举中,Sun的值为0,Mon为1,Tue为2,依此类推。也可以直接给枚举元素赋值来改变这种默认情况,而且不同元素的值可以相同。如:
enum WeekDay{ Sun=1 , Mon , Tue , Wed=Sun , Thu , Fri , Sat }
在此枚举中,强制第一个枚举元素Sun的值为1,Mon为2,Tue为3,而Wed又强制为1,Thu为2,依此类推。枚举元素Sun和Wed、Mon和Thu、Tue和Fri的值相同。
如果枚举元素的数据类型不是int型,则可以如下方式进行声明。
enum Color : long { Red , Green , Blye };
[示例Example1_1_2] 使用枚举
using System; public class TestEnum { enum Range : long{ Max=2147483648L , Min=255L } public static void Main() { long a=(long) Range.Max; long b=(long) Range.Min; Console.WriteLine("Max={0} , Min={1}", a , b); } } 下面再看一个例子: enum Color { Red=Green , Green , Blue }
枚举元素Red的值由Green决定,而枚举元素Green的值又由Red决定,从而形成一个循环,这将产生错误。