コードの一部を理解しようとしていますが、これまでのところ理解できませんでした...
[Flags]
public enum Products
{
Pepsi = 0x1,
Coca = 0x2,
Miranda = 0x3,
Dew = 0x4,
Wine = 0x5
}
Products pp = (Products)12;
pp.HasFlag(Products.Dew); ==> True
pp.HasFlag(Products.Miranda); ==> False
pp.HasFlag(Products.Coca); ==> False
pp.HasFlag(Products.Dew)
なぜとが なTrue
のか知りたいpp.HasFlag(Products.Miranda)
ですFalse
。0x1 = 1、0x2 = 2、0x3 = 4、0x4 = 8、0x5 = 16 として動作していると思いました。何が起こっているのか教えてください