我试图在枚举上使用switch语句,如下所示: -
public enum myEnum
{
This = 0,
That = 1,
TheOther = 2
}
private void doo_foo (myEnum input)
{
switch (input)
{
case myEnum.This:
// do something;
break;
case myEnum.That:
// do something;
break;
case myEnum.TheOther:
// do something
break;
case default:
// do something;
break;
}
}
但这会在case default:
行返回编译错误: -
语法错误,'('预期。
结肠下方有一点红色下划线。谁能看出问题是什么?
答案 0 :(得分:14)
从case
行中删除default
:
switch (input)
{
case myEnum.This:
// do something;
break;
case myEnum.That:
// do something;
break;
case myEnum.TheOther:
// do something
break;
default:
// do something;
break;
}
答案 1 :(得分:8)
正如Rob Lyndon已经回答的那样,正确的语法只是default:
。但是为了解释您收到的错误消息,case default
是case default(int):
表达式的有效开头(表示case 0:
),但为了有效,default
需要后跟一个左括号,这就是错误信息所报告的内容。