Looking for c# Keywords? Try Ask4Keywords

C# Language Использование << обозначение для флагов


пример

Оператор левого сдвига ( << ) может использоваться в объявлениях перечисления флагов, чтобы гарантировать, что каждый флаг имеет ровно один 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 (или 11111111111111111111111111111110 в двоичном формате), что неуместно.