为什么这个声明语句,
public enum ECountry : long
{
None,
Canada,
UnitedStates
}
需要为其任何值进行强制转换吗?
long ID = ECountry.Canada;
// Error Cannot implicitly convert type 'ECountry' to 'long'.
// An explicit conversion exists (are you missing a cast?)
除了强制类型转换外,是否有一种直接从枚举中获取长整型值的方法?
例如,以下方式也无法使用:
public enum ECountry : long
{
None = 0L,
Canada = 1L,
UnitedStates=2L
}
enum
的基础类型的主要原因是支持具有超过32个项目的“Flags”枚举。您可以将其用于存储随机的long
值,但这种情况较少见,而且有点不好。 - dlev