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

转载于:https://www.cnblogs.com/wangyblzu/p/6543037.html


准备条件:

①枚举类型:

public enum enumColor
    {
        Red = 1,
        Yellow,
        Green,
        Blue,
        White,
        Black
    }

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

 

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;
        }

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值