C#-枚举的key值获取枚举name名称-OK
2018年02月28日 14:08:49 djk8888 阅读数 9559
目录
根据数值获取枚举的Name
获取枚举key值:
//判断key值是否存在于枚举中:
//取int值:
//取string值
public enum SubjectEnum {
语文 = 1,
数学 = 2,
英语 = 3,
物理 = 4,
化学 = 5,
地理 = 6,
生物 = 7,
历史 = 8,
政治 = 9,
}
根据数值获取枚举的Name
public string GetEnumNameByKey(int key){
return Enum.GetName(typeof(SubjectEnum), key);
}
string str = Enum.GetName(typeof(SubjectEnum), key);//若key=6,则str="地理";
获取枚举key值:
int key = (int)SubjectEnum.英语;//则 key=3;
判断key值是否存在于枚举中:
bool b = Enum.IsDefined(typeof(SubjectEnum), key);
//若key=10,则b=false;
取int值:
int i = (int)SubjectEnum.数学;
取string值:
string str = SubjectEnum.数学.ToString();
前台Post过来一个string类型的int值,"1","2",然后实体对象是一个Enum枚举类型,所以需要根据该数值的string获取到这个Enum枚举对象的值。
EnumItems enumItem = (EnumItems)Enum.Parse(typeof(EnumItems), ddl.SelectedValue)
qc.State = (OrderQcState)Enum.Parse(typeof(OrderQcState), qc.Result);
很简单,使用Enum.Parse方法解决。