读书笔记 enum枚举之位标志属性(Flags)浅析
2024-10-18 18:28:43
针对enum枚举来说,可以定义位标志属性,从而使该枚举类型的实例可以存储枚举列表中定义值的任意组合。可以用 与(&)、或(|)、异或(^)进行相应的运算。废话不多说,代码最直接。
//每一个定义值都是一个位标志
[Flags]
enum Days {
Sunday=0x01,
Monday=0x02,
Tuesday=0x04,
Wednesday=0x08,
Thursday=0x10,
Friday=0x20,
Saturday=0x40
} //--------------------------------------------------- //可以用 或(|) 运算符来组合
Days meetingDay = Days.Monday | Days.Tuesday;
Console.WriteLine(meetingDay);
//打印 Monday, Tuesday //用 与(&) 运算符来判断是否包含该值 打印yes
if((meetingDay & Days.Monday) == Days.Monday)
Console.WriteLine("yes");
else
Console.WriteLine("none"); //用 异或(^) 运算符来去除其中一个值
meetingDay = meetingDay ^ Days.Monday;
Console.WriteLine(meetingDay);
//打印 Tuesday
最新文章
- android 选择图片或拍照时旋转了90度问题
- Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the co
- iOS---XMPP环境搭建过程
- JS对象实现随机满天小星星实例
- ActionScript 3.0 for the Lunder Algorithm
- 48. 面向对象的LotusScript(十四)之Log4Dom上
- linux统计文件夹某一些文件的大小总和
- 多线程同步、异步(BeginInvoke)
- windows下绑定线程(进程)到指定的CPU核心
- C#三层构架
- 关于eclipse新建web项目,提示:";The superclass ";javax.servlet.http.HttpServlet"; was not found on the Java";解决办法
- Lintcode249 Count of Smaller Number before itself solution 题解
- DevExpress 控件汉化代码和使用方法
- 从零开始自己搭建复杂网络2(以Tensorflow为例)
- redis源码学习-skiplist
- DBCC CHECKIDENT 和SET IDENTITY_INSERT table OFF
- 关于 centos 7系统,iptables透明网桥实现
- HP小型机维护
- linq中转换类型报错
- urlScan 配置阻止sql注入