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

posted on 2024-10-17 14:27  漫思  阅读(194)  评论(0编辑  收藏  举报

导航