c#枚举转化示例大全,数字或字符串转枚举

 

c#枚举转化示例大全,数字或字符串转枚举,本文重点举例说明C#枚举的用法,数字转化为枚举、枚举转化为数字及其枚举数值的判断,如下是具体的示例:c#

先举两个简单的例子,而后再详细的举例说明:ide

字符串转换成枚举:DayOfWeek week= (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Friday");
数字转换成枚举:DayOfWeek week= (DayOfWeek)5;  //Friday
具体的示例:
定义枚举: 
public enum DisplayType 

  All=10, 
  Up=20, 
  Down=30 
}
spa

 

1.数值转化 
(1)字符转化为枚举 
string str="up"; 
DisplayType displayType; 
displayType=(DisplayType)System.Enum.Parse(typeof(DisplayType),str,true); 
Response.Write(displayType.ToString());
字符串

结果是:Up 
Enum.Parse 方法第3个参数,若是为 true,则忽略大小写;不然考虑大小写。
string

(2)数字转化为枚举 
int i=30; 
DisplayType displayType; 
displayType=(DisplayType)System.Enum.Parse(typeof(DisplayType),i.ToString()); 
Response.Write(displayType.ToString()); 
结果是:Down 
(3)枚举转化为字符 
DisplayType displayType=DisplayType.Down; 
string str=displayType.ToString(); 
Response.Write(str); 
结果是:Down
it

(4)枚举转化为数字 
方法一: 
DisplayType displayType=DisplayType.Down; 
int i=Convert.ToInt32(displayType.ToString("d")); 
Response.Write(i.ToString());
class

或者:(int)Enum.Parse(typrof(DisplayType),"Down")
结果是:30
方法

方法二: 
DisplayType displayType=DisplayType.Down; 
int i=((IConvertible)((System.Enum)displayType)).ToInt32(null); 
Response.Write(i.ToString()); 
结果是:30
margin

相关文章
相关标签/搜索