使用标记符号
左移运算符(<<
)可用于标志枚举声明,以确保每个标志在二进制表示中只有一个 1
,如标志所示。
这也有助于提高大枚举的可读性,其中包含大量标记。
[Flags]
public enum MyEnum
{
None = 0,
Flag1 = 1 << 0,
Flag2 = 1 << 1,
Flag3 = 1 << 2,
Flag4 = 1 << 3,
Flag5 = 1 << 4,
...
Flag31 = 1 << 30
}
现在显而易见的是,MyEnum
只包含适当的标志,而不是像 Flag30 = 1073741822
(或二进制的 111111111111111111111111111110)这样不合适的任何杂乱的东西。