我在我的应用程序中使用枚举标志。枚举可以有大约 50 多个值,因此值最多为 2^50。我只是想知道,我可以用Math.Pow(2, variable)
这些来计算吗?
当我尝试这样做时,我得到一个常量值编译时错误。除了手动计算这些 2 的幂并将其放入之外,还有其他方法吗?
这就是我正在做的事情:
[Flags]
internal enum RiskStates : long
{
None = 0,
AL = Convert.ToInt64(Math.Pow(2,0)),
AK = 2,
AZ = 4,
AR = 8,
CA = 16,
CO = 32,
CT = 64,
DC = 128,
DE = 256,
FL = 512,
GA = 1024,
HI = 2048,
ID = 4096,
IL = 8192,
IN = 16384,
IA = 32768,
KS = 65536,
KY = 131072,
LA = 262144,
ME = 524288,
MD = 1048576,
MA = 2097152,
MI = 4194304
}