我有以下代码.
private Enum MyEnum
{
VALUE1=5, VALUE2=4, VALUE3=3, VALUE4=2, VALUE5=1
}
protected void Page_Load(object sender, EventArgs e)
{
Session["EnumValue"] = "VALUE1";
MyEnum test = (MyEnum) Session["EnumValue"];
}
Run Code Online (Sandbox Code Playgroud)
在页面加载中,在转换后我具有变量'test'='VALUE2'的值.
我期待它得到test ='VALUE1'.代码有什么问题吗?
你不能简单地将字符串值转换回Enum,你必须解析它:
MyEnum enumValue = (MyEnum) Enum.Parse(typeof(MyEnum), (string)Session["EnumValue"]);
Run Code Online (Sandbox Code Playgroud)