Je vois souvent des déclarations de flag enum qui utilisent des valeurs hexadécimales. Par exemple :
[Flags]
public enum MyEnum
{
None = 0x0,
Flag1 = 0x1,
Flag2 = 0x2,
Flag3 = 0x4,
Flag4 = 0x8,
Flag5 = 0x10
}
Lorsque je déclare un enum, je le déclare généralement comme ceci :
[Flags]
public enum MyEnum
{
None = 0,
Flag1 = 1,
Flag2 = 2,
Flag3 = 4,
Flag4 = 8,
Flag5 = 16
}
Y a-t-il une raison ou un raisonnement qui explique pourquoi certaines personnes choisissent d'écrire la valeur en hexadécimal plutôt qu'en décimal ? D'après moi, il est plus facile de s'embrouiller en utilisant des valeurs hexadécimales et d'écrire par accident Flag5 = 0x16
au lieu de Flag5 = 0x10
.