switch语句的“不准遍历”

2016-02-19 12:15 32 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享switch语句的“不准遍历”吧。

【 tulaoshi.com - 编程语言 】

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


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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

来源:http://www.tulaoshi.com/n/20160219/1600333.html

延伸阅读
一、注册表的组织结构 图一 类比:Key有如文件夹,Value有如文件。 Value组成:Name/Type/Data, 通常指某Value就是指其Name。 二、目前的访问手段 regedit, regedt32,第三方软件,编程。 Windows提供了三种方式供编程实现:函数,Shell函数,CRegKey类(由ATL库提供,是对API的封装,简化了部分功能)。这三种方式的提供的...
标签: Web开发
DOM遍历 基于ID、元素类型、类名查找元素非常有用,但是如果你想基于它在DOM树中的位置来查找元素该怎么办?换句话说,你有一个给定的元素,你想查找它的父元素、子元素中的一个、它的上一个或下一个节点兄弟节点。例如,采用下面这段零碎的HTML代码: 清单1:HTML碎片(一个table) table     thead    ...
代码如下: public static void main(String[] args) {          File f = new File("D:\\test\\fsd");          listChids(f,0);      }      public static void listChids(File f,int level){   &...
在java项目开发过程中,使用properties文件作为配置基本上是必不可少的,很多如系统配置信息,文件上传配置信息等等都是以这种方式进行保存。 同时学会操作properties文件也是java基础。 代码如下: public class PropertiesUtil { public static Map getFileIO(String fileName){ Properties prop = new Properties(); Map propMap=new...
标签: PHP
  1、IF语句 IF语句是多数语言中的一个重要特点,它根据条件执行程序段。PHP的IF语句类似于 C: if (expr) statement 正如在表达式中所论述, expr 被计算为它的真值。如果 expr 为TRUE, PHP执行相应语句, 如果为FALSE 则忽略它。 如果$a 大于 $b,下例将显示 \'a is bigger than b\': if ($a $b) ...

经验教程

491

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部