一、枚举:继承关系System.Object-->system.ValueType--->System.Enum(值类型)
,可对其进行格式化输出。
二、判断一个枚举是否合法:Enum.IsDefined;枚举类型转换:Enum.Parse;可以把数
值转换为枚举类型。
三、位标记:定义一个枚举类型,在枚举类型上加上[Flags]属性。
如:
[Flags]
enum Actions
{
Read =0X0001,
Write=0X0002,
Delete=0X0004,
Query=0X0008,
Sync=0X00010,
}
调用
Actions actions=Actions.Read|Actions.Write;//值是:0x0003
Console.WriteLine(actions.ToString());//输出"Read、Wirte"
他们的值是2的N次方,如上可以用^、|、&等符号进行运算实现从数据组合。如果我
们直接给一个值,系统也会为自动进行位运算,返回当前值是由哪几个已经定义的位
数据组合而成的。就像上面一样,我们不用再定义一个可读写的枚举。
实例:Actions a=(Actions) Enum.Parse(typeof(Actions),“28”,false)
console.writeline(a.tostring())//输出 Delete、Query、Sync
当,Parse的方法被调用时,他们同样会检查枚举类型上是否应用了[Flags]定制特性
,如果有Parse将会吧字符串拆分成单个的符合,然后查询每一个符合的值,并对相
应的值执行位或(只允许位操作,禁止算术操作 加、减)操作,最后得到一个枚举
类型的实例。