枚举的用法

1、循环枚举用法

foreach (var items in Enum.GetNames(typeof(Constant.cb_type)))  //Enum.GetValues() ,Constant.cb_type是一个枚举类型 ,items 是得到枚举名称
{

  int item = Convert.ToInt32(Enum.Parse(typeof(Constant.cb_type), items)); // 这里是得到枚举的对应数值
  string name = Enum.GetName(typeof(Constant.cb_type), item); //得到对应的名称,用数值得到对应的名称
}
  public enum cb_type
    { 
        白 = 1,   
        富 = 2,   
        美 = 4,  
    }

2、得到描述

复制代码
public static class GetDescription
    {
        /// <summary>
        /// 获取描述信息
        /// </summary>
        /// <param name="en"></param>
        /// <returns></returns>
        public static string description(this Enum en)
        {
            Type type = en.GetType();
            MemberInfo[] memInfo = type.GetMember(en.ToString());
            if (memInfo != null && memInfo.Length > 0)
            {
                object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
                if (attrs != null && attrs.Length > 0)
                    return ((DescriptionAttribute)attrs[0]).Description;
            }
            return en.ToString();
        }
    }

    public enum Sex
    {
        [Description("")]
        man = 1,
        [Description("")]
        woman = 2,
        [Description("其他")]
        other = 3
    }
复制代码

 

参考:https://www.cnblogs.com/kissdodog/archive/2013/01/16/2863515.html

 

posted @   幽冥狂_七  阅读(342)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示