Flags特性,Non-exclusive members and the Flags attribute

Flags关键字允许我们在使用.net 枚举变量时,使用多个组合值。即枚举前面添加一个Flags特性后,此时如果对枚举变量按位或操作时,结果不会直接简单按位或求和,而是显示各枚举变量的所有选项。此时应记住,枚举变量的值应按位设置,如果有两个枚举变量值的和正好等于另一个枚举变量值,那么此时计算结果就不会显示组合值,而是那个第三个变量的值。

[Flags]
enum MyEnum
{
    a=0x01,
    b=0x02,
    c=0x08
}

MyEnum myEnum = MyEnum.a | MyEnum.b;