「値」の範囲は0〜15です(可能な値)。これらの4つの「if」条件はいつ満たされますか?(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)
value