【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; }
附件为一个Demo小工具:
https://files.cnblogs.com/files/wangyblzu/EnumConvertDemo.zip
posted on 2017-03-13 15:20 wangyblzu 阅读(64347) 评论(3) 编辑 收藏 举报