C#数据类型:枚举

枚举类型是由一组称为枚举数列表的命名常数组成的独特类型。枚举声明开始于一个关键词enum,还包括一个名称定义、访问能力、基本类型和枚举成员。每个枚举类型都有一个相应的整数类型,称为枚举类型的基本类型。常见的基本类型有byte、sbyte、short、ushort、int、uint、long或ulong等,但是不能是char,默认的基本类型是int。例如:

enum orientation : int
{
    north,
    south,
    east,
    west
}

在默认情况下,每个枚举成员都会根据定义的顺序(从0开始),自动赋给对应的基本类型值,例如上边例子中north的值为0,south的值为1,east的值为2,west的值为3。当然,我们也可以手动给枚举成员赋一个基本类型值,而没有赋值也枚举成员也会自动获得一个值,它的值是比最后一个明确声明的值大1的序列。例如:

enum orientation : int
{
    north = 6,
    south,
    east = 10,
    west
}

上例中south的值为7,west的值为11。

枚举类型的变量在某一时刻只能取得某一个枚举成员的值,例如:

orientation myDirection = oriention.south;
Response.Write(myDirection);

虽然显示为south,但是当你将它和字符串south进行比较(myDirection=="south")时会出错,要获取枚举成员的string类型和基本类型值可使用Convert类的方法进行转换:

Response.Write(Convert.ToString(myDirection));
Response.Write(Convert.ToInt16(myDirection));

使用枚举比使用无格式的整数具有以下优势:一是枚举使得代码易于维护,有助于确保给变量指定合法的、期望的值。二是枚举使得代码更为清晰,其允许使用描述性的名称表示整数值,而不是用含义模糊的数字来表示。三是枚举使得代码更易于键入,这主要得力于Visual Studio 2005的智能感知功能。开发人员应学会聪明、合理地使用枚举结构,以便节省大量时间,提高工作效率。

参考文章

1.郝刚.2006.《ASP.NET 2.0 开发指南》.人民邮电出版社.49~50
2.Karli Wstson,Christian Nagel.2006.《C#入门经典》(第3版).清华大学出版社.81~84

2008-11-25补充:字符串和基本类型值转换为枚举

orientation test = orientation.south;

//字符串转枚举
orientation item1 = (orientation)Enum.Parse(typeof(orientation),"south",true);
Response.Write(test == item1);//返回:True

//数值转枚举
orientation item2 = (orientation)Enum.Parse(typeof(orientation), "2", true);
Response.Write(test == item2);////返回:True


上一篇: 十年学会编程
下一篇: SQL Server2000系统数据库说明
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 5335
发表评论
登录后再发表评论!