64位枚举?C#

20

能否使枚举类型存储64位的值?我编写了下面的代码并得到了编译错误信息。

enum EnumTest { a = 0x100000000 };

错误 CS0266:无法隐式转换类型“long”为“int”。存在一个显式转换(是否缺少强制转换?)

1个回答

46

是的,你需要从long类型"派生"出它。

public enum MyEnum : long
{
}

10
谢谢!针对任何遇到问题的人:如果你使用标志(flags),那么需要使用1l << 40而不是1 << 40来表示这个数字。 - Andreas Reiff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接