使用標記符號
左移運算子(<<
)可用於標誌列舉宣告,以確保每個標誌在二進位制表示中只有一個 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)這樣不合適的任何雜亂的東西。