C#中的enum枚举类型位运算

class A
{
    [Flags]
    public enum Week
    {
        Monday = 1 << 0,//1,0b_0000_0001,
        Tuesday = 0x0002,//2,1<<1,0b_0000_0010,
        Wednesday = 0b_0000_0100,//二进制数,4
        Thursday = 1 << 3,//8,0x08,在计算机中,左移运算符 << 表示将一个数的二进制表示向左移动指定的位数。将 1 左移 3 位,相当于将 1 的二进制表示向左移动 3 位,变成 1000,也就是 8。
        Friday = 0x10,//十六进制数0x10,16
        Saturday = 32,
        Sunday = 64,

        Weekend = Saturday | Sunday,
        workday = 0x1F,//0b_0001_1111相当于从Monday按位到Friday
    }


    public static void Main(string[] args)
    {
        Week ReadingDay = Week.Monday | Week.Saturday;
        ReadingDay.Dump();
    }
}

你可能感兴趣的:(c#)