C#疑惑篇-变调的switch语句!

哎,C#的设计者们为了证明C#是C/C++的发展,竟然不惜改变switch的语法。

这个改变对初学者来说很致命,就是通常说的非常subtle的问题。

1、语法上和C/C++是一致的。
2、case语句一旦有了代码,就不允许fall through,而且必须用break结束当前case。
3、紧挨着一起的几个空case语句可以看做是一个“组”,只有空case语句才允许fall through。
4、如果像实现C/C++的fall through功能,必须用goto case VALUE或者goto default这种奇怪的语法。

C#的设计者认为,这样可以让开发人员书写更加安全的代码。但是就我个人而言,只有初学的时候犯了不该的fall through毛病,以后10年间从来没有犯过类似错误。我本人觉得这是一个非常愚蠢的决定,只是纯粹为了展示“我们做了改进”这个目的而已。当然,这可能不是Hejlsberg本人的意愿。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值