3

C#列挙型の定義では、最後に余分なコンマが許可されているように見えることに驚きました(少なくとも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 に答える