C# 枚举中的按位或

[Flags]
public enum Foo
{
    A = 0,
    B = 1 << 1,
    C = 1 << 2,
    D = 1 << 3,
    E = 1 << 4,
    F = 1 << 5
}

public static void Main(string[] args)
{
    var foo = Foo.A | Foo.B;
    if (foo.HasFlag(Foo.A))
    {
        Console.WriteLine("包含A");
    }
    if ((foo & Foo.B) == Foo.B)
    {
        Console.WriteLine("包含B");
    }

    Console.Read();
}
原文地址:https://www.cnblogs.com/trykle/p/14584399.html