我们在开发过程中,有时会让枚举作为数据源来绑定一些下拉列表,这时就需要解析枚举名称和值 。
先看一个枚举的定义:
1 /// <summary> 2 /// 数据库类型 3 /// </summary> 4 public enum DatabaseType { 5 OleDb, 6 SqLite, 7 MssqlServer, 8 MySql, 9 Oracle, 10 Db2, 11 Other 12 }
1.使用所给的字符串匹配枚举类型
(DatabaseType) Enum.Parse(typeof (DatabaseType), "OleDb", true); // 最后一个参数 表示不区分大小写
2.获取枚举的字符串形式:
DatabaseType.MySql.ToString() // MySql
3.获取枚举的值
(int)DatabaseType.MySql; // 3
4.根据值获取枚举类型
(DatabaseType)3; //DatabaseType.MySql
5.根据所给枚举的字符串形式获取枚举的值
Enum.Format(typeof(DatabaseType), Enum.Parse(typeof(DatabaseType), "MySql"), "d") // 3