一个枚举变量表示一种状态,但是C#的枚举支持一个枚举变量表示多种状态。
枚举成员的值必须是2的整数次幂。
如下
[System.Flags]
public enum Day
{
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64
}
1个枚举变量表示多个枚举值
Day day = Saturday | Sunday;
删除一项枚举
day ^= Day.Saturday;
判断是否包含某项枚举
(day & Day.Sunday) > 0;