您的位置:首页 > 编程语言 > C#

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

2014-03-17 11:54 281 查看
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

转自:http://blog.csdn.net/shuilv2000/article/details/6440380
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: