枚举语法 - 结尾允许使用额外的逗号?

时间:2012-10-11 23:30:51

标签: c#

很惊讶地看到C#Enum定义似乎最后允许额外的逗号(至少在VS2010中)。

e.g。 :

public enum EnumTest1
{
    Abc,
    Def,
}

即。在" Def"结束时有一个逗号。 只是想知道这是否被设计所允许,或者是疏忽。 (这可能很有用,因为如果它是一个bug,可能无法保证上面的代码将在未来的C#版本中编译)。

1 个答案:

答案 0 :(得分:8)

设计允许。同样,您也可以在初始值设定项中使用尾随逗号。例如:

var ints = new[] { 2, 3, 4, 3, };

var obj = new SomeClass { Prop1 = "foo", Prop2 = "bar", };

我认为允许尾随逗号会使创建自动生成的代码变得更加容易,因为在代码中输出列表时不必添加最后列表逻辑。