[英]Switch on enum with default case won't compile.
我正在尝试通过枚举使用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:
返回编译错误case default:
line:-
语法错误,'('预期。
冒号下方有红色的下划线。 谁能知道是怎么回事?
从default
行中删除case
:
switch (input)
{
case myEnum.This:
// do something;
break;
case myEnum.That:
// do something;
break;
case myEnum.TheOther:
// do something
break;
default:
// do something;
break;
}
正如Rob Lyndon已经回答的那样,正确的语法只是default:
但为了解释您得到的错误消息, case default
是case default(int):
表达式的有效开头(表示case 0:
,但是为了有效, default
后面必须带有一个括号,这就是错误消息所报告的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.