是否有更简单的方法为枚举标志写入整数值而不必记住每个基数为2的数字(我倾向于在4096之后丢失)?
如果我使用,比方说2*2*2*2
,是否会在编译时转换为16,还是会在运行时执行?
答案 0 :(得分:4)
public enum Foo
{
Bar = 1 << 0,
Baz = 1 << 1,
Quux = 1 << 2,
Etc = 1 << 3
}
答案 1 :(得分:4)
您可以使用更直观的十六进制。
Value1 = 0x01,
Value2 = 0x02,
Value3 = 0x04,
...
或使用位移。
Value1 = 1 << 0,
Value2 = 1 << 1,
Value3 = 1 << 2,
....