HasFlags always returns true for None (0) value in enum

后端 未结 7 1198
轻奢々
轻奢々 2020-12-10 23:51

This is the enum definition:

[Flags]
enum Animals
{
    None = 0,
    Dog = 1,
    Cat = 2,
    Horse = 4,
    Zebra = 8,
}

Now, given the

7条回答
  •  悲哀的现实
    2020-12-11 00:42

    Well Enum.HasFlags resolves as something like the following:

    var hasNone = (myAnimals & Animals.None) == Animals.None
    

    This will always be true for a zero-value-enum-field.

提交回复
热议问题