0
点赞
收藏
分享

微信扫一扫

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

Enum.GetName(typeof(EnumTest), 2)  //返回值是"ddd"

Enum.GetName(typeof(EnumTest), 2)  //返回值是null

举报

相关推荐

0 条评论