zoukankan      html  css  js  c++  java
  • 枚举Enum

     #region 根据枚举名称获取值或反之
            /// <summary>
            /// 根据枚举的名称,得到该枚中该名称对应的值
            /// </summary>
            /// <param name="p_EnumVar">指定的枚举</param>
            /// <param name="p_Name">名称</param>
            /// <returns>值,如果没有,返回-1</returns>
            public static int GetEnumValueByName(Type p_EnumVar, string p_Name)
            {
                string[] names = Enum.GetNames(p_EnumVar);
                int nValue = -1;
                int[] nValues = (int[])Enum.GetValues(p_EnumVar);
                for (int i = names.Length - 1; i >= 0; i--)
                {
                    //找到
                    if (names[i] == p_Name)
                    {
                        nValue = nValues[i];
                        break;
                    }
                }
                return nValue;
            }

            /// <summary>
            /// 根据枚举的值,得到枚举变量的名称
            /// </summary>
            /// <param name="p_EnumVar">枚举</param>
            /// <param name="p_Value">值</param>
            /// <returns>变量名,如果没有找到,返回""</returns>
            public static string GetEnumNameByValue(Type p_EnumVar, int p_Value)
            {
                string name = "";
                string[] names = Enum.GetNames(p_EnumVar);
                int[] nValues = (int[])Enum.GetValues(p_EnumVar);
                for (int i = nValues.Length - 1; i >= 0; i--)
                {
                    if (nValues[i] == p_Value)
                    {
                        name = names[i];
                        break;
                    }
                }
                return name;
            }
            #endregion

  • 相关阅读:
    LTE问题集锦(0)
    LTE问题集锦(3)
    LTE问题集锦(2)
    LTE问题集锦(1)
    LTE学习之路(9)—— 3GPP TS协议系列总结
    (原创)我的测试生涯(2)——《Clearcase UCM Practice》
    我的测试生涯(1)——开篇《Clearcase简介》
    (转载)十年、五年,你该做的事
    (转载)Windows消息机制
    LTE学习之路(8)——信令流程
  • 原文地址:https://www.cnblogs.com/songyulan/p/5790376.html
Copyright © 2011-2022 走看看