3

惊讶地发现 C# Enum 定义似乎允许在末尾添加一个额外的逗号(至少在 VS2010 中)。

例如:

public enum EnumTest1
{
    Abc,
    Def,
}

即“Def”末尾有一个逗号。只是想知道这是设计允许的,还是疏忽。(这可能很高兴知道,因为如果它是一个错误,则可能无法保证像上面这样的代码将在未来的 C# 版本中编译)。

4

1 回答 1

11

这是设计允许的。同样,您也可以在初始化程序中使用尾随逗号。例如:

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

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

我认为允许尾随逗号可以更轻松地创建自动生成的代码,因为在代码中输出列表时不必添加最后一个列表逻辑。

于 2012-10-11T23:34:03.673 回答