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

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

你可能感兴趣的:(c#.net)