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;

inti=((IConvertible)((System.Enum)displayType)).ToInt32(null);

Response.Write(i.ToString());

结果是:30

posted @ 2019-12-02 20:28  咖啡无眠  阅读(3093)  评论(0编辑  收藏  举报