多くの場合、16進値を使用するフラグ列挙型宣言を目にします。例えば:
[Flags]
public enum MyEnum
{
None = 0x0,
Flag1 = 0x1,
Flag2 = 0x2,
Flag3 = 0x4,
Flag4 = 0x8,
Flag5 = 0x10
}
列挙型を宣言するときは、通常、次のように宣言します。
[Flags]
public enum MyEnum
{
None = 0,
Flag1 = 1,
Flag2 = 2,
Flag3 = 4,
Flag4 = 8,
Flag5 = 16
}
一部の人々が値を10進数ではなく16進数で書き込むことを選択する理由または理論的根拠はありますか?私の見方では、16進値を使用すると混乱しやすく、のFlag5 = 0x16
代わりに誤って書き込むことがありFlag5 = 0x10
ます。