关于C#枚举中最后一项是否必须有逗号的问题结论

《Programming C#》中,在示例中定义的枚举类型,好像前后都不一样哦!
例如定义了以下两个枚举类型:
enum servingsizes:uint
{
    small=1,
    regular=2,
    large=3   //没有逗号结束。
}
另一个:
enmu temperatures
{
    wickedcode=0,
    freezingpoint=32,
    lightjackettweather=60,
    swimmingweather=72,
    boilingpoint=212,  //使用了逗号结束。

}

关于这个逗号的问题其实有比较深层次考虑,在标准C#书写规范中沿袭C++规范最后一个枚举都要求不写最后一个逗号,但是所有C#编译器,对于序列语法(枚举,初始化序列等)的统一处理为都不检查最后一项是否存在逗号,这是由于DOM中存在代码自动生成相关语法,如果强制要求最后一项没有逗号则,会在序列语法检查逻辑中出现独特的对最后一项的处理逻辑,这就是为什么所有的C#编译器都不会检查枚举最后一项是否有逗号,其实就是为了自动生成代码不出错和处理方便,我觉得这是一种语法上的进步!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值