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