zoukankan      html  css  js  c++  java
  • C# 获取枚举集合的其中两种方式

    可能会在下面的场景中需要循环枚举值

    1、为方便前端展示,将返回的数据集合中的枚举名称显示出来。这样前端不需要做任何处理,直接展示即可。

    2、向前端输出枚举集合,用于数据筛选,并且前端不需要维护这些集合。后端有修改也不需要通知前端。

    方式一:

    var dict = new Dictionary<int, string>();
    var values = Enum.GetValues(typeof(OperationType));
    foreach (var item in values)
    {
        dict.Add(item.GetHashCode(), item.ToString());
    }
    return Task.FromResult(dict);
    

    方式二:

    var dict = new Dictionary<int, string>();
    var fields = typeof(OperationType).GetFields();
    for (int i = 1; i < fields.Length; i++)//下标从1开始
    {
        var name = fields[i].Name;
        var value = Enum.Parse(typeof(OperationType), name);
        dict.Add(value.GetHashCode(), name);
    }
    return Task.FromResult(dict);
    

    最后,顺便提下在开发过程中经时常会用中文作为枚举名称,这样就免去使用 Attribute 还需要再取一次的操作,通过 .ToString() 就能获取枚举名称。

  • 相关阅读:
    software architect
    bmh算法
    程序动态切片技术研究
    chm便捷制作
    protobuffer源码解读
    字符串搜索算法比较
    软件架构重组:实践需要和当前做法
    游戏素材制作
    ea(enterprise architect) 相关资料集锦
    vs开启工程非常卡分析和解决
  • 原文地址:https://www.cnblogs.com/fxck/p/13076782.html
Copyright © 2011-2022 走看看