This is the enum definition:
[Flags] enum Animals { None = 0, Dog = 1, Cat = 2, Horse = 4, Zebra = 8, }
Now, given the
This is just the defined behavior of the HasFlag method. From the MSDN documentation
HasFlag
if the underlying value of flag is zero, the method returns true