• 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() 就能获取枚举名称。

  • 相关阅读:
    对拍程序的写法
    单调队列模板
    [bzoj1455]罗马游戏
    KMP模板
    [bzoj3071]N皇后
    [bzoj1854][SCOI2010]游戏
    Manacher算法详解
    [bzoj2084][POI2010]Antisymmetry
    Python_sklearn机器学习库学习笔记(一)_一元回归
    C++STL学习笔记_(1)string知识
  • 原文地址:https://www.cnblogs.com/fxck/p/13076782.html
Copyright © 2020-2023  润新知