一尘不染

.NET枚举允许在最后一个字段中使用逗号

c#

为什么允许该.NET枚举在最后一个字段中使用逗号?
这有什么特殊含义吗?

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

阅读 376

收藏
2020-05-19

共1个答案

一尘不染

它没有特殊含义,只是编译器的工作方式,主要是出于以下原因:

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

通过评论请求:该信息直接来自C#规范(第355页/第17.7节)

与标准C ++一样,C#在数组初始化程序的末尾允许逗号。此语法提供了在此类列表中添加或删除成员的灵活性,并简化了此类列表的机器生成。

2020-05-19