在C#中怎样用switch-case语句

在C#中怎样用switch-case语句... 在C#中怎样用switch-case语句 展开
 我来答
乐海白35
推荐于2019-09-12 · TA获得超过284个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

1、C#的switch-case语句使用示例:

int week = 5;
switch (week)
{

case 1: break;    //变量week的值为1,不做任何处理,结束switch语句
case 2:
case 3:
case 4:
case 5:
Console.WriteLine("今天是工作日");//当变量week的值为2,3,4,5中任意一个值时,由于其后没有关键字"break",所以会顺序执行到输出语句

break;       //结束switch语句

case 6:
case 7:
Console.WriteLine("今天是休息日");//同理
break;

defalut:
Console.WriteLine("无效的输入值");
break;

}   

2、C#的switch语句的语法如下:

switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}

其中,switch、case、default和break是关键字。

3、遵守switch语句规则:

只能针对基本数据类型使用switch,这些类型包括int和string等待。对于其他类型,则必须使用if语句
case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。

case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

可以连续写下一系列case标签(中间不能间插额外的语句),从而指定自己希望在多种情况下都运行相同的语句。如果像这样写,那么最后一个case标签之后的代码将适用于所有case。然而,假如一个标签关联了一个或多个语句,又没有使用break来跳出,那么执行就不能贯穿到后续的标签,而且编译器会报告一个错误。

扩展资料:

C#三元运算符

C#中有一个三元运算符“?:”,语法为:条件表达式?表达式1:表达式2;

该操作首先求出条件表达式的值(bool类型),为true时调用表达式1,为flase时调用表达式2。其逻辑为:“如果为真执行第一个,否则执行第二个。”
例如:

a=3>4?3:4;输出为4。
a=3<4?3:4;输出为3。

参考资料:

Microsoft Docs.switch

含光君06
推荐于2019-08-06 · TA获得超过1.5万个赞
知道答主
回答量:5
采纳率:0%
帮助的人:1190
展开全部

switch 是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。switch 是多分支选择语句。说得通俗点,多分支就是多个 if。

switch的一般形式如下:

switch (表达式)

{
case 常量表达式1: 语句1;
   

case 常量表达式2: 语句2;
 

┇    

case 常量表达式n: 语句n;
  

default: 语句n+1;

}

1、 switch 后面括号内的“表达式”必须是整数类型。也就是说可以是 int 型变量、char 型变量,也可以直接是整数或字符常量,哪怕是负数都可以。但绝对不可以是实数,float 型变量、double 型变量、小数常量通通不行,全部都是语法错误。

2、switch 下的 case 和 default 必须用一对大括号{}括起来。

3、 当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。

执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。

再重申一下:switch是“选择”语句,不是“循环”语句。很多新手看到break就以为是循环语句,因为break一般给我们的印象都是跳出“循环”,但break还有一个用法,就是跳出switch。

4、若所有的 case 中的常量表达式的值都没有与 switch 后面括号内“表达式”的值相等的,就执行 default 后面的语句,default 是“默认”的意思。如果 default 是最后一条语句的话,那么其后就可以不加 break,因为既然已经是最后一句了,则执行完后自然就退出 switch 了。

5、每个 case 后面“常量表达式”的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。

6、“case常量表达式”只是起语句标号的作用,并不是在该处进行判断。在执行 switch 语句时,根据 switch 后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

7、 各个 case 和 default 的出现次序不影响执行结果。但从阅读的角度最好是按字母或数字的顺序写。

8、当然你也可以不要 default 语句,就跟 if…else 最后不要 else 语句一样。但最好是加上,后面可以什么都不写。这样可以避免别人误以为你忘了进行 default 处理,而且可以提醒别人 switch 到此结束了。

举例:

扩展资料:

1、不是所有case语句最后都跟有break。起初见到的代码里,基本上每个case最后都跟有break,它是指当switch后面括号里的表达式与哪一个case后面的常亮表达式匹配时,直接进入这个case,执行完里面的语句后,遇到break,直接退出整个switch case语句。

实际当中,还会碰到类似于上述代码的情况(不是所有case语句最后都跟有break),这个时候,程序总是从匹配的case执行,直到遇到break或者程序走到最后的default结束,退出switch case语句。

2、switch后面括号里的结果必须是整形值。因为这个值是要和case语句后面直接跟的常量表达式进行匹配的。

3、break在switch case语句中主要是将语句划分成不同的部分,方便匹配后跳出switch语句。

4、default的位置并不是固定的。为了使程序正常运行,它放在case之间的时候,后面必须跟上break语句;如果放在最后,可以跟break语句,也可以不跟。

参考资料:

百度百科——switch

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
babyAn涩
推荐于2017-10-15 · 知道合伙人金融证券行家
babyAn涩
知道合伙人金融证券行家
采纳数:7678 获赞数:132044
2014年于上海市商贸旅游学校毕业,专业会计。后就读于上海市同济大学网络教育学院。

向TA提问 私信TA
展开全部

switch  case语句适用于从一组互斥的分支中选择一个执行分支。

值得注意的就是case的值必须是常量表达式不允许是变量。

C#中的switch  case语句更安全,如果激活块中靠前的一个case子句,后面的case子句就不会被激活(除非使用goto语句、但不建意使用)。

注意switch  case语句有一种例外情况,如果一个case子句为空,就可以从这个case跳到下一个case上,这样就可以用相同的方式处理两个或多个case子句(不再需要goto语句)。

在C#中,switch语句的一个有趣的地方是case子句的排放更灵活,甚至可以将default子句放在最前面(因为任何两个case都不能相同)。

关键代码如下:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱馒头面瘫君
2011-04-12
知道答主
回答量:18
采纳率:0%
帮助的人:8.2万
展开全部
switch(变量)
{
case '条件一': 要执行的代码 break;
case '条件二': 要执行的代码 break;
default : 要执行的代码 break;
}
变量=5,条件一=3>5,不正确,不执行,跳出(break)
条件二=7>5,正确,执行,跳出(break)
如果条件一和条件二都不符合,则默认执行default,然后跳出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千鸟05020305
推荐于2019-08-08 · TA获得超过1万个赞
知道答主
回答量:72
采纳率:0%
帮助的人:1.1万
展开全部
C#的switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}
controllingExpression(控制表达式)只求值一次。然后,从其constantExpression值等于controllingExpression值的case开始,它下方的所有语句都会一直运行,直到遇到一个break为止。随后,switch语句将结束,程序从switch结束大括号之后的第一个语句继续执行,并忽略其他case。
假如任何一个constantExpression值都不等于controllingExpression的值,就运行可选标签default之下的语句。
注意 假如controllingExpression的值和任何一个case标签都不匹配,同时没有发现一个default标签,程序会跳过整个switch语句,从它的结束大括号之后的第一个语句继续执行。
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型使用switch,这些类型包括int和string等待。对于其他类型,则必须使用if语句。
case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

注意 break语句是用来阻止贯穿的最常见的方式,但也可以用一个return语句或者一个throw语句来替代它。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式