设为首页 加入收藏

TOP

switch语句的“不准遍历”
2014-11-23 20:25:23 来源: 作者: 【 】 浏览:8
Tags:switch 语句 不准

C和C++语言允许switch语句中case标签后不出现break语句从而可以继续执行下面case后的语句。但是这往往由于程序员忘记写break语句而成为一个难以发现的漏洞,所以C#不允许这样,它要求每个标签项后使用break语句或跳转语句goto,即不允许从一个case自动遍历到其他case,否则编译时报错,即使是default语句后也不例外。


这个特定决定了三个特点:

a)我们可以任意排列switch语句中的case项而不会影响switch语句的功能。

b)如果要像c/c++那样在执行完后继续遍历其他的语句,只要在case语句后加上以下两条跳转语句中的一条即可:goto case label;goto default。

3)除了goto外,throw和return也可以。


C#switch语句与C/C++另一个不同点是C#同VB一样把字符串常量当作常量表达式来使用,但C/C++却不支持。所以在C#中,case “OK”:这样的形式也是支持的。

转自:动态网制作指南 www.knowsky.com
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇第九章 配置和调度 下一篇datagridcolumnstyle重写,实现插..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: