C#的枚举与位枚举怎么定义(云服务器、云主机、高防IP、高防服务器、香港服务器、美国服务器,开发技术)

时间:2024-04-30 00:28:20 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :
C#的枚举与位枚举怎么定义

一、枚举的概念

C# 枚举(Enum), 枚举类型是用于声明一组命名的常数的基本数据类型(值类型)

二、枚举的定义

声明 enum 变量:

enum{enumerationlist};

其中 enum_name 指定枚举的类型名称,enumeration list 是一个用逗号分隔的标识符列表; 枚举列表中的每个符号代表一个整数值,一个比他前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0。例如:

enumDays{Sun,Mon,tue,Fir,sat};

三、枚举的案例,枚举变量的用法

实例

usingSystem;namespaceEnumApplication{classEnumProgram{enumDays{Sun,Mon,tue,Wed,thu,Fri,sat};staticvoidMain(string[]args){intWeekdayStart=(int)Days.Mon;intWeekdayEnd=(int)Days.Fir;Console.WriteLine("Monday:{0}",WeekdayStart);Console.WriteLine("Firday:{0}",WeekdayEnd);Console.ReadKey();}}}

四、Enum 类:

所有枚举类型都隐式地继承 System.Enum 类型, System.Enum 类型是继承自 System.ValueType 类型唯一不为值类型的引用类型。

C#的枚举与位枚举怎么定义

五、Enum 类

方法描述CompareTo将此实例与指定对象进行比较并返回一个对二者的相对值的指示Equals:指示此实例是否等于指定的对象;
Format根据指定格式将指定枚举类型的指定值转换为其等效的字符串表示形式GetName在指定枚举中检索具有指定值的常数的名称GetNames检索指定枚举中常数名称的数组GetTypeCode返回此实例的基础TypeCodeGetUnderlyingTye返回指定枚举的基础类型GetValues指定枚举中常数值的数组HasFlag确定当前实例中是否设置了一个或多个位域IsDefined返回指定枚举中是否存在具有指定值的常数的指示Parse将一个或多个枚举常数的名称或数字值得字符串表示转换成等效得枚举对象,一个参数指定该操作是否不区分大小写TryParse将一个或多个枚举常数得名称或数字值得字符串表示转换成等效得枚举对象,用于指示转换是否成功得返回值

六、标志枚举/位枚举

C# 标记枚举(Flags):枚举类型是用于声明一组命名得常数得基本类型数据(值类型)。

枚举值是互斥得。而位标记集合是一种由组合出现得元素形成得列表,通常设计为以”位或”运算组合新值。

枚举类型则通常表达一种语义相对独立得数值集合。而以枚举类型来实现位标记集合是最完美得组合,简称位枚举。

七、位枚举得定义

//////权限枚举///[Flags]publicenumpermission注意加了[Flags]特性后有三种写法,{一种是使用

八、位枚举的实例

//1、给用户创建、读取,修改和删除的权限varparmission=Permission.Create|parmission.Read|parmission.Update|parmission.Delete;//2、去掉用户的修改和删除权限parmission=parmission&~parmission.Update;parmission=parmission&~parmission.Delete;//3、给用户加上修改的权限parmission=parmission|parmission.Update;//4、判断用户是否有创建的权限varisCreate=(parmission&parmission.Create)!=0;//或者varisCreate=(parmission&parmission.Create)==parmission.Create;这时parmission枚举的值将变成0+1+4=5,它的ToSting()将变成“parmission.Create,parmission.Read”,parmission.Update;这里我们可以解释为什么第五个值Delete是8而不能成为5。也就是说它的值不应该是前几项值的复合值。一个比较简单的方法就是用2的n次方来依次位每一项赋值,例如:1,2,4,8,16,32,64.......。
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:C#的枚举与位枚举怎么定义的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:php替换中文字符的方法下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18