“值”的范围是0到15(可能的值)。何时满足这四个“如果”条件?如果我的(int)值= 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)
为“是value
set 的第3位(= 1))。由于您似乎在理解代码时遇到问题,因此我认为它不是您的。(以及您没有询问的事实审查),使这个问题题外话CR.SE。