枚举拾遗

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

枚举是一种很有意思的构造。在.net中,枚举类型拥着一些很酷的特性.

以下面这个枚举类型为例:

enum AccessRight:int //某种资源的访问权限

{

Read=1, //读 十六进制为0x01

Write=2,//写十六进制为0x02

Delete=4//删除十六进制为0x04

}

在.net中,我们可以:

AccessRight right=AccessRight.Read;

//获取枚举变量right的值的十进制表示

string s1=right.ToString("D");

//获取枚举变量right的值的十六进制表示

string s2=right.ToString("X");

//获取一个枚举变量right的枚举名,在这里就是Read

string s3=right.ToString("G");

如果你觉得上面那句赋值语句:(AccessRight right=AccessRight.Read;)不够灵活,

还可以这样:

//使用枚举名来获取一个枚举

AccessRight right=(AccessRight)System.Enum.Parse(typeof(AccessRight),"Read");

//也可以用枚举值来获取一个枚举

AccessRight right=(AccessRight)System.Enum.Parse(typeof(AccessRight),"1");

另外,你还可以遍历一个枚举类型

Foreach(AccessRight right in (AccessRight[])System.Enum.GetValues(typeof(AccessRight)) ){}

最后,还可以对枚举进行位算法

AccessRight right=AccessRight.Read|AccessRight.Write;

string ss=right.Tostring("F");

那么ss将会是"read,write"

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航