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