Почему этому перечислению.NET позволяют иметь запятую в последнем поле?
Это имеет какое-либо особое значение?
[FlagsAttribute]
public enum DependencyPropertyOptions : byte
{
Default = 1,
ReadOnly = 2,
Optional = 4,
DelegateProperty = 32,
Metadata = 8,
NonSerialized = 16,
}
Это не имеет особого значения, только то, как компилятор работает, это в основном по этой причине:
[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 # допускает запятую в конце Этот синтаксис обеспечивает гибкость при добавлении или удалении членов из такого списка и упрощает машинное формирование таких списков.
Также (для Nick Craver Craver) гораздо проще добавлять новые перечисления.
Это поведение не соответствует однозначному поводу. Рассмотрим следующее:
var list = new int[] { 1, 2, 3, };