您的位置:首页 > 编程语言 > C#

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

2017-03-13 15:20 656 查看

 

准备条件:

①枚举类型:

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

 

附件为一个Demo小工具:

http://files.cnblogs.com/files/wangyblzu/EnumConvertDemo.zip

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: