枚举上缺少最后一项
我正在寻找一些枚举选项,并在最后一个选项后发现了一个丢失的逗号。 举例来说, DayOfWeek
枚举(按F12
进入定义):
public enum DayOfWeek { Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, // note this comma }
这种行为背后有什么原因吗?
最后一个enum
成员之后的逗号是可选的。 这可能是为了帮助自动代码生成,它可以在不考虑语法的情况下吐出东西。
逗号是否存在不会改变任何内容。
看一下语法:
枚举声明:
attributes opt enum-modifiers optenum
identifier enum-base opt enum-body;
选择枚举的基础:
:
积分型枚举体:
{
enum-member-declarations opt}
{
enum-member-declarations,
}
枚举成员声明:
枚举成员声明
enum-member-declarations,
enum-member-declaration枚举成员的声明:
属性 opt 标识符
attributes opt identifier=
constant-expression
如您所见, 枚举体包含一个尾随逗号的选项。
我很确定没有一周的某一天丢失.. 🙂
你可以在枚举定义的末尾有一个可选的逗号(也可以不用)。 我想这只是一个方便的事情:如果世界发生变化,你必须在一周中添加一天:添加一个新行(并且可选地再次用逗号结束,为下一个定义新日期的人)。
编译器只是忽略了最后一个逗号。 它不需要在那里,但如果你把它放在一起也不是错误