switch语句的“不准遍历”

switch语句的“不准遍历”,第1张

switch语句的“不准遍历”,第2张

而c++语言允许在switch语句中的case标记后没有break语句,以便case后的后续语句可以继续执行。但是,这往往是一个很难发现的漏洞,因为程序员忘记写break语句,所以C #不允许这样做。它要求在每个标签项后使用break语句或jump语句goto,即不允许从一个case自动遍历到其他case,否则编译时会报错,即使在default语句后也是如此。

这种特异性决定了三个特征:

a)我们可以在不影响switch语句功能的情况下,任意排列switch语句中的case项。

b)如果想像c/c++一样执行后继续遍历其他语句,只需在case语句后添加以下两个跳转语句之一:goto case label;转到默认值.

c)除了goto,还可以使用throw和return。

C # switch语句和C/C++的另一个区别是,C #像VB一样使用字符串常量作为常量表达式,而C/C++不支持。所以在C #中,case“OK”:也支持这种形式。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » switch语句的“不准遍历”

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情