在C#中,似乎定义一个枚举在末尾有或没有分号:
public enum DaysOfWeek
{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} ; //Optional Semicolon?
此C# page from MSDN显示以分号结尾的枚举,但CarOptions
除外。
我没有找到任何明确的引用,并且两种方式似乎都可以在没有编译器警告的情况下工作。
那么是否应该有最终的分号?
答案 0 :(得分:33)
来自C# specification(通过archive.org):
14.1枚举声明
枚举声明声明一个新的枚举类型。枚举声明 以关键字enum开头,并定义名称,辅助功能, 基础类型和枚举的成员。
- 属性选择
- 枚举修饰符选择
- 枚举标识符
- enum-base opt
- enum-body
- ; 选择
最后允许使用单个分号,但是可选。
答案 1 :(得分:14)
虽然C#规范允许使用可选分号,但StyleCop(SA1106)规则中的编码指南规定如果分号是可选的,则不能使用分号。
答案 2 :(得分:6)
将enum视为一个类。这些类不需要分号。示例中的分号最有可能用于美学。分号是多余的,但正如我们所知,编译器不会抱怨这样的分号。例如
public enum MyEnum
{
a,
b,
c
};
这也可以是
public enum MyEnum
{
a,
b,
c
}