enum(枚举类型)与字符串相互转换
关键代码
得到枚举值
1 Color.Red.GetHashCode();
得到枚举名称
1 Color.Red.ToString();
枚举类型转换代码
1 Enum.Parse(typeof(Color),str)
示例数据
首先创建示例数据,如下:
1 //…… 2 /// <summary> 3 /// 颜色枚举 4 /// </summary> 5 public enum Color 6 { 7 Red, //红色 8 Blue, //蓝色 9 Green //绿色 10 } 11 //……
枚举值转字符串
1 int hashCode = Color.Red.GetHashCode(); 2 string enumParseStr = Enum.Parse(typeof(Color), hashCode.ToString()).ToString();
Enum.Parse()得到的值是object类型的,我们要转换的是值,得到的是名称,因此用ToString()得到字符串类型的名称。
字符串转枚举值
1 string str = Color.Red.ToString(); 2 int enumParseInt = Convert.ToInt32(Enum.Parse(typeof(Color), str));
这里要转换的是名字,得到的是值,因此用Convert.ToInt32()得到该值。
Enum说明
- 默认枚举第1个值为0,然后依次加1。
- 指定枚举前1个枚举,它后面的值会从它开始依次加1。
- 可以无序定义枚举值。
参考网址
[1] https://www.cnblogs.com/knightluffy/p/3529230.html
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。