Есть ли более простой способ записать целочисленное значение для флагов перечисления без необходимости запоминать КАЖДЫЙ номер основания 2 (я склонен потеряться после 4096)?
Если я использую, скажем, 2*2*2*2Будет ли он преобразован в 16 во время компиляции или он будет выполняться во время выполнения?
2*2*2*2
Вы можете использовать гекс, который немного более интуитивно понятен.
Value1 = 0x01, Value2 = 0x02, Value3 = 0x04, ...
Или использовать битовые сдвиги.
Value1 = 1 << 0, Value2 = 1 << 1, Value3 = 1 << 2, ....
public enum Foo { Bar = 1 << 0, Baz = 1 << 1, Quux = 1 << 2, Etc = 1 << 3 }