enum操作--获取枚举里的最大值
一个应用系统,如果程序里没有任何enum的使用,我认为它的可读性是有待商榷的。
求枚举里的最大/最小枚举值, 其实是对Array进行操作:
enum EnumTest { ddd = 2, eee }
var arr1 = Enum.GetValues(typeof(EnumTest)); //返回值是一个Array
arr1.Length //枚举项个数 arr1.GetValue(arr1.GetLowerBound(0)).GetHashCode() //求最小值,即2 arr1.GetValue(arr1.GetUpperBound(0)).GetHashCode() //求枚举最大值,即3
Enum.GetName方法
// // 摘要: // 在指定枚举中检索具有指定值的常数的名称。 // // 参数: // enumType: // 枚举类型。 // // value: // 特定枚举常数的值(根据其基础类型)。 // // 返回结果: // 一个字符串,其中包含 enumType 中值为 value 的枚举常数的名称;如果没有找到这样的常数,则为 null。 // // 异常: // System.ArgumentNullException: // enumType 或 value 为 null。 // // System.ArgumentException: // enumType 不是 System.Enum。- 或 -value 既不是 enumType 类型,也没有与 enumType 相同的基础类型。 [ComVisible(true)] public static string GetName(Type enumType, object value);
Enum.GetName(typeof(EnumTest), 2) //返回值是"ddd"
Enum.GetName(typeof(EnumTest), 2) //返回值是null