我試圖理解的代碼的一部分,但無法理解它爲止......看不慣枚舉標誌與0X2值
[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。請指導我正在發生什麼
我真的不明白了一個道理,以downvote這個問題。至少沒有說明原因... – nozzleman