关于C#中switch语句的一点注意

语句

(最先发表在www.kunwsoft.com)
大家肯定对switch语句并不陌生,它能够让程序根据控制表达式的值,从多个动作中作出选择(从逻辑过程看,和多分支语句if-else有些相似)。在C++和java中也有这一语句,不过在C#中,这一语句则有了些变化。先看下边一个例子:
switch(letter)
{
case 'a':
Console.WriteLine("aaaaa");
case 'b':
Console.WriteLine("bbbbb");
break;
}
的这个例子在“case 'a'”这部分会产生一个错误,因为程序会一直执行到“case 'b'”来,也就是发生了穿越,但是在C#中,是禁止穿越发生的。因此,你必须使用“break”“goto”或者“return”来阻止穿越的发生。但是下边的情况例外:
switch(letter)
{
case 'a':
case 'b':
Console.WriteLine("aaaaa");
break;
case 'c':
Console.WriteLine("ccccc");
break;
}
(上边的这种情况,相信不用解释,也能够明白。)
此时,就出现了另外一个问题,那就是:在特殊情况下,要使程序可以进行这种穿越,怎么实现?其实这也很简单,前边不是提到过吗,可以使用“goto”语句来防止程序的穿越,其实也可以用它来实现穿越,只需使用它将程序跳转到另一个“case”不就行了吗!

总结:在C++和java中的switch中,允许程序穿越,而C#中不允许,不过,可以使用“goto”语句变相的实现。

时间: 2024-09-13 05:25:04

关于C#中switch语句的一点注意的相关文章

JavaScript中switch语句的用法详解

  这篇文章主要介绍了JavaScript中switch语句的用法详解,是JS入门学习中的基础知识,需要的朋友可以参考下 可以使用多个if... else if语句,如前面的章节,执行多路分支.然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值. 使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句. 语法 switch语句的基本语法给出一个expression ,以评估计算

Swift中switch语句区间和元组模式匹配_Swift

废话不多说了,下面一段代码给大家介绍了switch语句区间和元组模式匹配,具体内容如下所示: // switch 的广义匹配 let x = 1000 // 也就是说并没有像C语言那样 要求 switch 后面的是整数常量 switch x { // case后面可以跟区间啦 case 1...9: print("个位数") case 10...99: print("十位数") case 100...999: print("百位数") case

Swift开发中switch语句值绑定模式_Swift

 Switch简介 Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性. // switch语句值绑定模式 let point = (100, 10) switch point { // 遇到有匹配的就不会在执行下一个了 这样子也可以啊case let (x, y) case (let x, let y): print("\(x): \(y)") //

php中switch语句用法详解_php技巧

本文介绍php中的switch语句的用法,它跟其他语句中的switch用法差不多的,但注意有有一个break语句. PHP中switch语句的标准语法: switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be exe

python中switch语句用法

python中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现. #coding: utf-8 from __future__ import division def jia(x,y): print x+y def jian(x,y): print x-y def cheng(x,y): print x*y def chu(x,y): print x/y operator = {'+':jia,'-':jian,'*':chen

php中switch语句的用法介绍

Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 Switch 语句. 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块. 语法  代码如下 复制代码 switch (expression) { case label1:   code to be executed if expression = label1;   break;  case label2:   code to be executed if expression = label2;

深入解析Swift中switch语句对case的数据类型匹配的支持_Swift

Swift可以对switch中不同数据类型的值作匹配判断: var things = Any[]() things.append(0) things.append(0.0) things.append(42) things.append(3.14159) things.append("hello") things.append((3.0, 5.0)) things.append(Movie(name:"Ghostbusters", director:"Iv

深入剖析Go语言编程中switch语句的使用_Golang

switch语句可以让一个变量对反对值的列表平等进行测试.每个值被称为一个的情况(case),变量被接通检查每个开关盒(switch case). 在Go编程,switch有两种类型. 表达式Switch - 在表达式switch,case包含相比较,switch表达式的值. 类型Switch - 在这类型switch,此时含有进行比较特殊注明开关表达式的类型. 表达式Switch在Go编程语言中表达switch语句的语法如下: 复制代码 代码如下: switch(boolean-express

JavaScript中switch语句的用法详解_基础知识

 可以使用多个if... else if语句,如前面的章节,执行多路分支.然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值. 使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句.语法 switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行.解释器检查对表达式的值的每一种情况,直到找到一个匹配.如果没有匹配,则缺省(defa