.NET Enumeration permite la coma en el último campo

¿Por qué esta enumeración .NET permite tener una coma en el último campo?
¿Tiene esto algún significado especial?

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

No tiene ningún significado especial, solo la forma en que funciona el comstackdor, es principalmente por esta razón:

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

Por solicitud de comentarios: esta información viene directamente de la Especificación de C # (Página 355 / Sección 17.7)

Al igual que C ++ estándar, C # permite una coma al final de un inicializador de matriz. Esta syntax proporciona flexibilidad para agregar o eliminar miembros de dicha lista, y simplifica la generación de dichas listas en la máquina.

También (a la publicación de Nick Craver) es mucho más fácil agregar nuevas enumeraciones.

Este comportamiento es apropiado no solo para las enumeraciones. Considera lo siguiente:

 var list = new int[] { 1, 2, 3, }; 

Otra razón: hace que sea más fácil codificar gen.

Sé que es un tema antiguo pero, otro enfoque que tiene sentido para este problema es para los sistemas de control de versiones de código.

Considere el siguiente ejemplo:

 //version 1 var myArray = { "item 1", "item 2" }; //version 2 var myArray = { "item 1", "item 2", //will be considered a change, it may be considered an erroneous approach "item 3" } 

Ahora considere este enfoque:

 //version 1 var myArray = { "item 1", "item 2", }; //version 2 var myArray = { "item 1", "item 2", //will not be considered a change, it may be considered an erroneous approach too, but, means that the code wasn't changed intrinsically "item 3", }; 

Lo que sea, ambos enfoques pueden considerarse incorrectos o correctos dependiendo de la situación. Particularmente prefiero el segundo enfoque que tiene mucho más sentido cuando se trata de sistemas de versiones de código.

De todos modos espero que esto ayude.