打开带有默认大小写的enum won't compile

本文关键字:won compile enum 默认 大小写 默认大小 | 更新日期: 2023-09-27 18:18:38

我试图在一个枚举上使用一个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:行返回编译错误:-

语法错误,'('预期。

,冒号下有红色的小下划线。有人能看出是怎么回事吗?

打开带有默认大小写的enum won't compile

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 defaultcase default(int):表达式的有效开始(这意味着case 0:),但是为了有效,default需要后跟一个左括号,这就是错误消息所报告的内容。