你的位置:首页 > ASP.net教程

[ASP.net教程]C# Enum Name String Description之间的相互转换


最近工作中经常用到Enum中Value、String、Description之间的相互转换,特此总结一下。

1.首先定义Enum对象

 1 public enum Weekday 2     { 3       [Description("星期一")] 4       Monday=1, 5       [Description("星期二")] 6       Tuesday=2, 7       [Description("星期三")] 8       Wednesday=3, 9       [Description("星期四")]10       Thursday=4,11       [Description("星期五")]12       Friday=5,13       [Description("星期六")]14       Saturday=6,15       [Description("星期日")]16       Sunday=717     }

View Code

2.根据string类型的值,获取相应的对象,例如:“Sunday”获取Weekday.Sunday.

1 public static Weekday GetEnumFromString(string str)2     {3       Weekday week;4       bool b = Enum.TryParse(str, true, out week);5       if (b)6         return week;7       else8         throw new Exception("没有找到对应的Enum");9     }

View Code

3.根据Value类型的值,获取对应的description。

 1 public static String GetEnumDescription(Weekday week) 2     { 3  4       FieldInfo field = week.GetType().GetField(week.ToString()); 5       object[] obj = field.GetCustomAttributes(typeof(DescriptionAttribute), false); 6       DescriptionAttribute da; 7       if (obj != null && obj.Length > 0) 8       { 9         da = (System.ComponentModel.DescriptionAttribute)obj[0];10         return da.Description;11       }12       else13         throw new Exception("没有找到对应的Description");14     }

View Code

4.根据Description的值,获取对应的Value。

1 public static Weekday GetEnumFromDescription(string description)2     {3       foreach(Weekday week in Enum.GetValues(typeof(Weekday)))4       {5         if (description.Equals(GetEnumDescription(week))==true)6           return week;7       }8       throw new Exception("没有找到对应的Enum");9     }

View Code

 




内蒙古旅游团报价什么时候去内蒙古旅游最好去内蒙古旅游最佳路线内蒙古旅游景点推荐内蒙古跟团旅游报价多少民俗野趣两相宜 我在高粱地里等你 百里百村百景 古香古色定安之旅 深圳麦鲁小城在哪里?麦鲁小城地址? 江门台山上川岛开车怎么走?上川岛自驾攻略? 珠海荷包岛船票预订电话?荷包岛船票网上可以预订吗? 荷包岛最后一班船票几点?珠海荷包岛船票往返的吗? 到珠海荷包岛船票多少钱?荷包岛船票预订? 珠海去荷包岛船票多少钱?珠海怎么去荷包岛? 腾格里天鹅湖什么时间能看到天鹅?腾格里沙漠天鹅湖赏天鹅最佳时间? 趵突泉5月有什么好玩的?济南趵突泉几月去合适? 腾格里天鹅湖景区有篝火晚会吗?腾格里沙漠天鹅湖景区篝火晚会几点开始? 腾格里天鹅湖住宿多少钱?腾格里沙漠天鹅湖住宿价格? 北京哪些地方容易堵车?什么时候堵车概率大? 厦门冬天穿什么?可以穿裙子吗? 北京的公交是怎么收费的?坐公交需不需要办张交通卡? 珠海庙湾岛,东澳岛,荷包岛,哪个比较好? 554-3121-511 Datasheet 554-3121-511 Datasheet 554-3122 Datasheet 554-3122 Datasheet 554-3122-100 Datasheet 554-3122-100 Datasheet 通化去香港旅游 通化去香港旅游 通化去香港旅游 秦皇岛去港澳旅游 秦皇岛去港澳旅游 秦皇岛去港澳旅游 南阳去香港旅游 南阳去香港旅游 南阳去香港旅游