64位枚举?C#

16 .net c# 64-bit enums

是否有可能获得一个包含64位值的枚举?我写了下面的内容并得到了这个编译错误消息.

enum EnumTest { a = 0x100000000 };

error CS0266: Cannot implicitly convert type 'long' to 'int'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)

Oli*_*ppi 37

是的,你需要从长期"衍生"它.

public enum MyEnum : long
{
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!!对于任何绊倒它的人:如果使用标志,如果使用该表示法,则需要使用1l << 40而不是1 << 40. (7认同)