枚举的本质本来就是数值,只是让数值更有意义方便理解并反映出引用关系才设计出来的,本质还是数值,官方的说法是:
每个枚举类型都有一个对应的整型类型,称为枚举类型的基础类型。不显式声明基础类型的枚举类型具有基础类型int
。枚举类型的存储格式和可能值的范围由其基础类型决定。枚举类型可以采用的值集不受其枚举成员限制。特别是,枚举的基础类型的任何值都可以转换为枚举类型,并且是该枚举类型的一个不同的有效值。
见:
如果需要判断是不是定义的枚举值,Enum.IsDefined方法可以用来判断一个值在不在枚举范围内。