zoukankan      html  css  js  c++  java
  • 【C#】枚举和字符串以及数字之间的互相转换

     

    【C#】枚举和字符串以及数字之间的互相转换

    准备条件:

    ①枚举类型:

    复制代码

    1     public enum enumColor
    2     {
    3         Red = 1,
    4         Yellow,
    5         Green,
    6         Blue,
    7         White,
    8         Black
    9     }

    复制代码

    ②以下状态都是理想状态,并未对错误数据进行处理。

    1.枚举类型转换为字符串

    复制代码

            private string EnumConvertToString(enumColor color)
            {
                //方法一
                //return color.ToString();
    
                //方法二
                return Enum.GetName(color.GetType(), color);
            

    复制代码

    2.枚举类型转换为数字

            private int EnumConvertToInt(enumColor color)
            {
                return (int)color;
            }

    3.字符串转换为枚举类型

    复制代码

            private enumColor StringConvertToEnum(string str)
            {
                enumColor color = enumColor.Red;
                try
                {
                    color = (enumColor)Enum.Parse(typeof(enumColor), str);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return color;
                }
    
                return color;
            }

    复制代码

    4.数字转换为枚举类型

    复制代码

            private enumColor IntConvertToEnum(int i)
            {
                if (Enum.IsDefined(typeof(enumColor), i))
                {
                    return (enumColor)Enum.ToObject(typeof(enumColor), i);
                }
                return enumColor.Red;
            }

    复制代码

            private enumColor IntConvertToEnumOther(int i)
            {
                return (enumColor)i;
            }
  • 相关阅读:
    Catalan数
    完全背包
    日期问题
    01背包
    NOJ2076
    858. Prim算法求最小生成树
    839. 模拟堆
    850. Dijkstra求最短路 II
    849. Dijkstra求最短路 I
    859. Kruskal算法求最小生成树
  • 原文地址:https://www.cnblogs.com/grj001/p/12225628.html
Copyright © 2011-2022 走看看