我已定义了一个 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;
...
我原本以为枚举类型是常量。我该怎么解决这个问题?
(由于某些值超出了范围,我无法将值解析为枚举类型)