博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
枚举类型或运算
阅读量:5215 次
发布时间:2019-06-14

本文共 1614 字,大约阅读时间需要 5 分钟。

1.使用枚举类型进行按位或运算,应该用2的幂(1、2、4、8等) 来定义枚举常量,以确保组按位运算结果与枚举中的各个标志都不重叠;

2.当可能需要对枚举类型进行按位运算时,应该对枚举使用FlagsAttribute /Flags属性,这样当对枚举使用按位运算时才可以解析出各个具体的枚举常量名,而不仅仅是组合值;

3. None 用作值为零的标志枚举常量的名称;

4.如果明显存在应用程序需要表示的默认情况,考虑使用值为零的枚举常量表示默认值。

示例代码1,不加FlagsAttribute:

1 class Program 2     { 3         static void Main(string[] args) 4         { 5             OprationType opration = OprationType.Read | OprationType.Write; 6  7             Console.WriteLine(opration.ToString()); 8             Console.Read(); 9         }10     }11 12     //[FlagsAttribute]13     public enum OprationType14     {15         None = 0,16         Read=1,17         Write=2,18     }
View Code

运行结果:

示例代码2,加入FlagsAttribute:

1  class Program 2     { 3         static void Main(string[] args) 4         { 5             OprationType opration = OprationType.Read | OprationType.Write; 6  7             Console.WriteLine(opration.ToString()); 8             Console.Read(); 9         }10     }11 12     [FlagsAttribute]13     public enum OprationType14     {15         None = 0,16         Read=1,17         Write=2,18     }
View Code

运行结果:

5.枚举中的-=操作

示例代码:

1 class Program 2     { 3         static void Main(string[] args) 4         { 5             OprationType opration = OprationType.Read | OprationType.Write; 6             opration -= OprationType.Write; 7             Console.WriteLine(opration.ToString()); 8             Console.Read(); 9         }10     }11 12     [FlagsAttribute]13     public enum OprationType14     {15         None = 0,16         Read=1,17         Write=2,18     }
View Code

运行结果:

 

参考:

转载于:https://www.cnblogs.com/RoyYu/p/3904379.html

你可能感兴趣的文章
【BZOJ4999】This Problem Is Too Simple! 离线+树状数组+LCA
查看>>
【BZOJ2423】[HAOI2010]最长公共子序列 DP
查看>>
【SPOJ419】Transposing is Fun Pólya定理+欧拉函数
查看>>
Javascript Read Excel
查看>>
Spring’s RestTemplate
查看>>
解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog
查看>>
一篇关于apache commons类库的详解
查看>>
jQuery 特殊效果
查看>>
C#设计模式--单例模式
查看>>
《Linux从入门到精通》笔记
查看>>
impdp导入报错ORA-14460: only one COMPRESS or NOCOMPRESS clause may be specified
查看>>
洛谷3628 APIO2010特别行动队(斜率优化)
查看>>
nodejs代码实现文件内容复制
查看>>
poj3304 Segments【计算几何】
查看>>
Matlab 版本和支持问题
查看>>
十万个为什么 —— 自然的好奇
查看>>
斐波那契数列的量化分析
查看>>
生僻词汇(地名,动植物名)
查看>>
OpenCV——饱和度调整
查看>>
实验报告 三
查看>>