Ну, 0x
префикс означает шестнадцатеричный , а не просто десятичный . Таким образом, эквивалентные объявления будут
шестнадцатеричный (0x
префикс)
[Flags]
public enum Technology
{
None = 0x0000,
X1 = 0x0001,
X2 = 0x0002,
X3 = 0x0004,
X4 = 0x0008,
X5 = 0x0010, // 0x0010 == 1 * 16 + 0 == 16
X6 = 0x0020, // 0x0020 == 2 * 16 + 0 == 32
}
десятичный
[Flags]
public enum Technology
{
None = 0,
X1 = 1,
X2 = 2,
X3 = 4,
X4 = 8,
X5 = 16,
X6 = 32,
}
двоичный (примечание 0b
префикс)
[Flags]
public enum Technology
{
None = 0b000000,
X1 = 0b000001,
X2 = 0b000010,
X3 = 0b000100,
X4 = 0b001000,
X5 = 0b010000,
X6 = 0b100000,
}