当前位置:   article > 正文

c#入门-switch选择_c# switch

c# switch

swtich选择

switch选择可以使用多个并列的分支,结合模式匹配进行判断。
在需要判断多种情况时,switch选择比一大堆if-else更容易读懂。
和模式匹配一样,被判断的值只会进行一次取值。
而if-else会多次对被判断的值进行取值。这期间如果值变动,会影响结果。

语法

switch同样有代码段(按Tab生成)
基本语法为:关键字swtich +括号(里面填被判断的值)+大括号(里面写分支)

int i = 0;
switch (i)
{
	case 1:
	case 2:
	default:
		break;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

分支

分支写法为case + 模式 + 冒号
或者 default + 冒号。这个分支表示默认,如果其他所有case都不满足,则会执行此分支。
分支判断是有序的,从上到下。但default永远是最后匹配,无论它放在哪。

如果分支匹配的模式囊括了所有情况,那么之后的所有case分支会报错。
default分支会报警告:检测到不可达的代码。

一个swich可以没有任何分支。

分支块

一个分支后面直到下一个分支为止,是一个分支块。
除非分支后面没有任何语句,那么他的分支块会顺延,和下一个分支共用分支块。

分支块代码不能随着流程贯穿到下一个分支块或脱离switch语句。
可以使用break跳出switch语句(break只能作用于循环和switch,没有再多的例外情况了)。
在这里插入图片描述

附加判断

在模式匹配后,可以添加when+条件
这里的条件因为不是模式匹配,可以和普通变量进行比较。
如果条件不是常量true,那么分支匹配的模式可以重复。
在这里插入图片描述

switch表达式

switch表达式类似于三元表达式,是取值语句,不能独立成句,所有分支必须是可以取值的表达式。
switch表达式的语法为:被判断的值+关键字switch+大括号(里面写分支)。

swtich表达式的分支不使用case和default,而是把冒号改为=>,并使用逗号隔开分支块。
swtich表达式必须要囊括所有情况,default使用弃元模式代替,并且弃元模式会参与匹配顺序
在这里插入图片描述
从格式上无法预测此时希望输入switch关键字。因此无法使用自动补全功能,只能记住这个单词

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/142289
推荐阅读
相关标签
  

闽ICP备14008679号