Перечисление.NET позволяет запятую в последнем поле

Почему этому перечислению.NET позволяют иметь запятую в последнем поле?
Это имеет какое-либо особое значение?

[FlagsAttribute]
public enum DependencyPropertyOptions : byte
{
           Default = 1,
           ReadOnly = 2,
           Optional = 4,
           DelegateProperty = 32,
           Metadata = 8,
           NonSerialized = 16,
}
42
задан Lance Roberts 9 August 2011 в 15:55
поделиться

3 ответа

Это не имеет особого значения, только то, как компилятор работает, это в основном по этой причине:

[FlagsAttribute]
public enum DependencyPropertyOptions : byte
{
           Default = 1,
           ReadOnly = 2,
           Optional = 4,
           DelegateProperty = 32,
           Metadata = 8,
           NonSerialized = 16,
           //EnumPropertyIWantToCommentOutEasily = 32
}

По запросу комментария: Эта информация приходит прямо из C # Specification (Page 355/Section 17.7)

Как стандарт C++, C # допускает запятую в конце Этот синтаксис обеспечивает гибкость при добавлении или удалении членов из такого списка и упрощает машинное формирование таких списков.

63
ответ дан 26 November 2019 в 23:39
поделиться

Еще одна причина: это облегчает код GEN.

10
ответ дан 26 November 2019 в 23:39
поделиться

Также (для Nick Craver Craver) гораздо проще добавлять новые перечисления.

Это поведение не соответствует однозначному поводу. Рассмотрим следующее:

var list = new int[] { 1, 2, 3, };
12
ответ дан 26 November 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: