になし(0)の値に対してtrueを返す:HasFlagsは常にこれがenum定義で列挙
今、次のコードを与え、なぜHasFlagメソッドは、値Animals.Noneのためにtrueを返すのですか?
Animals myAnimals = Animals.Dog | Animals.Horse;
var hasNone = myAnimals.HasFlag(Animals.None); //true! Why?
var hasCat = myAnimals.HasFlag(Animals.Cat); //false
var hasDog = myAnimals.HasFlag(Animals.Dog); //true
var hasHorse = myAnimals.HasFlag(Animals.Horse); //true
var hasZebra = myAnimals.HasFlag(Animals.Zebra); //false