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();
}
posted @ 2021-03-26 21:53  trykle  阅读(93)  评论(0编辑  收藏  举报