How to Compare Flags in C#?

前端 未结 11 1760
我寻月下人不归
我寻月下人不归 2020-11-27 04:03

I have a flag enum below.

[Flags]
public enum FlagTest
{
    None = 0x0,
    Flag1 = 0x1,
    Flag2 = 0x2,
    Flag3 = 0x4
}

I cannot make

11条回答
  •  旧巷少年郎
    2020-11-27 04:27

    For bit operations, you need to use bitwise operators.

    This should do the trick:

    if ((testItem & FlagTest.Flag1) == FlagTest.Flag1)
    {
        // Do something,
        // however This is never true.
    }
    

    Edit: Fixed my if check - I slipped back into my C/C++ ways (thanks to Ryan Farley for pointing it out)

提交回复
热议问题