C#的枚举与位枚举怎么定义
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要介绍了C#的枚举与位枚举怎么定义的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#的枚举与位枚举怎么定义文章都会有所收获,下面我们一起来看看吧。一、枚举的概念
千家信息网最后更新 2025年02月23日C#的枚举与位枚举怎么定义
这篇文章主要介绍了C#的枚举与位枚举怎么定义的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#的枚举与位枚举怎么定义文章都会有所收获,下面我们一起来看看吧。
一、枚举的概念
C# 枚举(Enum), 枚举类型是用于声明一组命名的常数的基本数据类型(值类型)
二、枚举的定义
声明 enum 变量:
enum {enumeration list};
其中 enum_name 指定枚举的类型名称,enumeration list 是一个用逗号分隔的标识符列表; 枚举列表中的每个符号代表一个整数值,一个比他前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0。例如:
enum Days {Sun , Mon, tue, Fir, sat };
三、枚举的案例,枚举变量的用法
实例
using System;namespace EnumApplication{ class EnumProgram { enum Days { Sun, Mon, tue, Wed, thu, Fri, sat }; static void Main(string[] args) { int WeekdayStart = (int)Days.Mon; int WeekdayEnd = (int)Days.Fir; Console.WriteLine("Monday:{0}",WeekdayStart); Console.WriteLine("Firday:{0}",WeekdayEnd ); Console.ReadKey(); } }}
四、Enum 类:
所有枚举类型都隐式地继承 System.Enum 类型, System.Enum 类型是继承自 System.ValueType 类型唯一不为值类型的引用类型。
五、Enum 类
方法 | 描述 |
---|---|
CompareTo | 将此实例与指定对象进行比较并返回一个对二者的相对值的指示 |
Equals:指示此实例是否等于指定的对象; | |
Format | 根据指定格式将指定枚举类型的指定值转换为其等效的字符串表示形式 |
GetName | 在指定枚举中检索具有指定值的常数的名称 |
GetNames | 检索指定枚举中常数名称的数组 |
GetTypeCode | 返回此实例的基础TypeCode |
GetUnderlyingTye | 返回指定枚举的基础类型 |
GetValues | 指定枚举中常数值的数组 |
HasFlag | 确定当前实例中是否设置了一个或多个位域 |
IsDefined | 返回指定枚举中是否存在具有指定值的常数的指示 |
Parse | 将一个或多个枚举常数的名称或数字值得字符串表示转换成等效得枚举对象,一个参数指定该操作是否不区分大小写 |
TryParse | 将一个或多个枚举常数得名称或数字值得字符串表示转换成等效得枚举对象,用于指示转换是否成功得返回值 |
六、标志枚举/位枚举
C# 标记枚举(Flags):枚举类型是用于声明一组命名得常数得基本类型数据(值类型)。
枚举值是互斥得。而位标记集合是一种由组合出现得元素形成得列表,通常设计为以"位或"运算组合新值。
枚举类型则通常表达一种语义相对独立得数值集合。而以枚举类型来实现位标记集合是最完美得组合,简称位枚举。
七、位枚举得定义
/// /// 权限枚举 /// [Flags] public enum permission 注意加了[Flags]特性后有三种写法, { 一种是使用
八、位枚举的实例
//1、给用户创建、读取,修改和删除的权限var parmission = Permission.Create | parmission.Read | parmission.Update | parmission.Delete;//2、去掉用户的修改和删除权限parmission = parmission &~parmission.Update;parmission = parmission &~parmission.Delete;//3、给用户加上修改的权限parmission = parmission | parmission.Update;//4、判断用户是否有创建的权限var isCreate = (parmission & parmission.Create)!=0;//或者var isCreate = (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.......。
关于"C#的枚举与位枚举怎么定义"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"C#的枚举与位枚举怎么定义"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
类型
C#
实例
常数
权限
名称
对象
指示
数值
用户
多个
字符
字符串
标记
知识
符号
组合
中常
内容
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
校园网网络安全的功能需求
朝阳区有名的网络技术共同合作
护航网络安全服务发展
比较两个表格的重复数据库
增强网络安全手抄报图片
与网络安全的相关文章
青少年网络安全情景剧
自贡网络安全工作研讨会
网络安全教程与实践考试重点
was应用程序服务器在哪找
山东戴尔服务器零售商云空间
ftp备份文件传到服务器
交叉编译时链接数据库
数据库索引技术可分为
怎么把数据库改名字
学校网络安全工作落实情况
一般软件开发公司配电脑吗
网络安全问题研究性报告
网络安全可以学编程吗
上网行为管理服务器的作用
日本远程软件开发工作
好迪网络技术有限公司
湖北工业软件开发市场价
云流媒体服务器配置与管理
服务器安全防护好干吗
网络安全用什么系统好
怎么知道数据库的服务名
方舟服务器查询网站
服务器批量运行可执行用什么
软件开发移动互联