C# Language Utiliser la notation pour les drapeaux


Exemple

L'opérateur de décalage à gauche ( << ) peut être utilisé dans les déclarations d'énumération afin de s'assurer que chaque indicateur a exactement 1 en représentation binaire, comme le devraient les indicateurs.

Cela aide également à améliorer la lisibilité des grands enums avec beaucoup de drapeaux.

[Flags]
public enum MyEnum 
{
    None  = 0,
    Flag1 = 1 << 0,
    Flag2 = 1 << 1,
    Flag3 = 1 << 2,
    Flag4 = 1 << 3,
    Flag5 = 1 << 4,
    ...
    Flag31 = 1 << 30
}

Il est maintenant évident que MyEnum contient que des indicateurs corrects et non des éléments désordonnés comme Flag30 = 1073741822 (ou 111111111111111111111111111110 en binaire), ce qui est inapproprié.