Enum 操作

复制代码
    //如果需要计算,0开始没有意义,且数字都需要2进下只有一位为1其他为0者
    
//public enum Color1s { Red = 1, Green = 2, Blue = 4 }
  
//如果嫌麻烦可以用16进制的1,2,4,8在每位上重复即可,最多16位
   public enum Color1s 
     { 
         Red 
=   0x001
         Green 
= 0x002
         Blue 
=  0x004,
         Pink 
=  0x008,
         Black 
= 0x010,
         Brown 
= 0x020,
         
        Yellow 
= 0x8000000000000000
    }
复制代码


 

复制代码
1            Color1s color = Color1s.Blue | Color1s.Green;//增加 
2            color = color &~Color1s.Blue;//减去CoLors1s.Blue
3            if ((color & Color1s.Green) == Color1s.Green)//判断是否存在
4            {
5                
6            }

7
复制代码



原因是因为位操作(先把数字转成2进制)
______________________________________________________________________
即0&0=0,0&1=0,1&0=0,1&1=1
     00000011
  & 00000101
     00000001   

即 0|0=0,0|1=1,1|0=1,1|1=1

      00110000
    | 00001111
      00111111

即:0∧0=0,0∧1=1,1∧0=1, 1∧1=0
      01111010
    ∧ 00001111
       01110101

即~1 =0 ,~0=1
          0000000000010101  
        ~1111111111101010

H1

试验下
posted @   Curry  阅读(420)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示