逻辑运算符枚举

这个问题在这里已经有了答案:

  • 在C#中,[Flags]枚举属性意味着什么? 10个答案

  • 如果你打算使用enum作为这样的位图,那么需要给成员赋予不同的值:

    [Flags]
    enum MyEnum
    {
       Bold = 0x01,
       Italic = 0x02,
       Underlined = 0x04,
       Struck = 0x08
    }
    

    默认情况下,他们被赋予了数字0,1,2,3 - 第一个不做任何事情,第二个与最后一个重叠。

    正如在注释中提到的,您还应该将[Flags]属性添加到枚举定义中,这样如果您执行了ToString()您将得到格式正确的结果(并且让每个人都知道您如何使用枚举)但是,如果你不这样做,它不会影响它的工作方式。


    你正在使用按位运算符,这就是他们所做的

    链接地址: http://www.djcxy.com/p/54429.html

    上一篇: Logical operators on enums

    下一篇: Enum flag attribute C#