c#声明枚举,通过枚举int获取枚举value、通过枚举value获取int值、判断string值是否存在枚举中
c#声明枚举,通过枚举int获取枚举value、通过枚举value获取int值、判断string值是否存在枚举中
1、声明枚举
每个枚举常量可以用一个标识符来表示,也可以为它们指定一个整数值,如果没有指定,那么默认从 0 开始递增。
注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。
可以在定义枚举类型时改变枚举元素的值:
enum season {spring, summer=3, autumn, winter};
没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5
例如:
public enum RoomState_Enum { 课, //0 自, //1 闲 //2 }
2、读取枚举值
读取是一个枚举类型的值,并且是他的key ;
比如:课就是获取到的是值1
3、根据获取枚举的可以读取它的value
/// <summary> /// 枚举 int 转 枚举名称 /// </summary> /// <typeparam name="T">枚举名</typeparam> /// <param name="itemValue">int值,枚举key值</param> /// <returns></returns> private string ConvertEnumToString<T>(int itemValue) { return Enum.Parse(typeof(T), itemValue.ToString()).ToString(); }
例如:
获取到了“自”;
public enum RoomState_Enum { 课, //0 自, //1 闲 //2 }
ConvertEnumToString<RoomState_Enum>(1);
参考文献:https://blog.csdn.net/dibr63585/article/details/102042477
二、通过枚举string读取value
#region 5.获取枚举值 //枚举的string值:例如上面例子 此方法传入name="课" 返回0 public static int ConvertEnumToInt<T>(string name) { return (int)Enum.Parse(typeof(T), name); } #endregion
三、判断string值是否存在枚举中
//是否存在标志 RoomState_Enum flag; //存在返回true 不存在为false //第一个参数就是要进行判断“课”是否存在枚举RoomState_Enum中 var ifhaveEnum = Enum.TryParse<RoomState_Enum>(“课”, true, out flag); //如果存在,那么flag就是对应枚举 //要得到状态值就转为int 0 //要得到名称就转string "课" var sewq = flag.Ext_IsDBNull(); var sewq1 = (int)flag;
参考文献:https://blog.csdn.net/weixin_33842328/article/details/85900683
本文来自博客园,作者:じ逐梦,转载请注明原文链接:https://www.cnblogs.com/ZhuMeng-Chao/p/17273025.html
漫思