«Значение» варьируется от 0 до 15 (его возможные значения). Когда эти 4 условия "если" будут выполнены? Если my (int) value = 2, значит ли это 0010?
if ((int)value & 0x1)
{
//statement here
}
if ((int)value & 0x2)
{
//statement here
}
if ((int)value & 0x4)
{
//statement here
}
if ((int)value & 0x8)
{
//statement here
}
Enum.HasFlag
метод для проверки битов. Смотрите: Enum.HasFlag .
value
(читаетсяif(value & 0x4)
как «3-й битvalue
установлен (= 1)). Поскольку у вас, по-видимому, есть проблемы с пониманием кода, я предполагаю, что он не ваш. Это (и тот факт, что вы не спрашиваете» для обзора) делает этот вопрос не по теме для CR.SE .