【发布时间】:2010-11-19 09:11:11
【问题描述】:
我已将 C# 枚举定义为
public enum ORDER
{
...
unknown,
partial01,
partial12,
partial23,
}
并且可以将其值用作字符串,如下所示:
string ss = ORDER.partial01.ToString();
但是,当我尝试在 case 语句中使用它时,它无法编译:
string value = ...
switch (value)
{
case null:
break;
case "s":
// OK
break;
case ORDER.partial01.ToString():
// compiler throws "a constant value is expected"
break;
...
我认为枚举是常量。我该如何解决这个问题?
(我无法将值解析为枚举,因为某些值超出了范围)
【问题讨论】: