Я пытаюсь понять часть кода, но не мог понять его до сих пор ...не могли понять Enum Флаги с 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