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

后端 未结 7 1187
轻奢々
轻奢々 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:34

    HasFlag is effectively this:

    HasFlag = (GivenFlag & Value) == GivenFlag;
    
    //"Anything" AND 0 == 0  --> always true
    

提交回复
热议问题