enum を ビットフラグ として利用することはよくあると思いますが、
フラグとして利用する際、よく直面する フラグ操作(フラグ演算、判定) をまとめてみました。
目次
フラグ利用する enum の作成
フラグ 演算
フラグ 判定
フラグ利用する enum の作成
ビット演算できるよう、数値は被らないように値を設定する必要があります。
おおよそ 2進数 における 各桁 が 1 となるような設定になります。
具体的には 1 (=2^0), 2 (=2^1), 4 (=2^2), 8 (=2^3), 16 (=2^4) … といった感じです。
フラグ利用する enum の場合、 Flags 属性 をつけるのもポイントです。
[Flags]
public enum Week
{
Sunday = 0x001,
Monday ...