C#中判断枚举大小范围
在C#中,枚举类型的大小范围是由其基础类型决定的。默认情况下,枚举类型的基础类型是int。
要判断枚举类型的大小范围,可以使用Enum.GetUnderlyingType方法来获取其基础类型,然后使用相应的类型范围判断方法。
例如,如果枚举类型的基础类型是int,可以使用int.MinValue和int.MaxValue来判断枚举的大小范围:
enum MyEnum
{
Value1 = 0,
Value2 = 1,
Value3 = 2
}
Type underlyingType = Enum.GetUnderlyingType(typeof(MyEnum));
if (underlyingType == typeof(int))
{
int minValue = (int)Enum.Parse(typeof(MyEnum), Enum.GetValues(typeof(MyEnum)).GetValue(0).ToString());
int maxValue = (int)Enum.Parse(typeof(MyEnum), Enum.GetValues(typeof(MyEnum)).GetValue(Enum.GetValues(typeof(MyEnum)).Length - 1).ToString());
Console.WriteLine("Min Value: " + minValue);
Console.WriteLine("Max Value: " + maxValue);
}
输出结果:
Min Value: 0
Max Value: 2
如果枚举类型的基础类型是其他类型,例如byte,可以使用byte.MinValue和byte.MaxValue来判断枚举的大小范围。
注意:以上代码假设枚举类型的定义中的值是按照从小到大的顺序排列的。如果不是按照顺序排列的,需要进行额外的处理。
原文地址: https://www.cveoy.top/t/topic/i5Mu 著作权归作者所有。请勿转载和采集!