I have a flag enum below.
[Flags] public enum FlagTest { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4 }
I cannot make
if ((testItem & FlagTest.Flag1) == FlagTest.Flag1) { // Do something }
(testItem & FlagTest.Flag1) is a bitwise AND operation.
(testItem & FlagTest.Flag1)
FlagTest.Flag1 is equivalent to 001 with OP's enum. Now let's say testItem has Flag1 and Flag2 (so it's bitwise 101):
FlagTest.Flag1
001
testItem
101
001 &101 ---- 001 == FlagTest.Flag1