c#枚举转化示例大全,数字或字符串转枚举
枚举转化示例大全,数字或字符串转枚举,本文重点举例说明C#枚举的用法,数字转化为枚举、枚举转化为数字及其枚举数值的判断,以下是具体的示例:
字符串转换成枚举:DayOfWeek week= (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Friday"); 数字转换成枚举:DayOfWeek week= (DayOfWeek)5; //Friday 具体的示例: 定义枚举: public enum DisplayType { All=10, Up=20, Down=30 }
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,则忽略大小写;否则考虑大小写。
(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
(4)枚举转化为数字 方法一: DisplayType displayType=DisplayType.Down; int i=Convert.ToInt32(displayType.ToString("d")); Response.Write(i.ToString());
或者:(int)Enum.Parse(typrof(DisplayType),"Down") 结果是:30
方法二: DisplayType displayType=DisplayType.Down; int i=((IConvertible)((System.Enum)displayType)).ToInt32(null); Response.Write(i.ToString()); 结果是:30