C#参考篇 第07部分 语句关键字

本文详细介绍了C#中的语句关键字,包括选择语句(if, switch)、迭代语句(do~while, while, for, foreach)、跳转语句(break, continue, goto, return)、异常处理(try~catch, throw)以及checked、unchecked、fixed和lock的用法,帮助开发者深入理解C#控制流程。" 108286832,9119537,CVPR 2013 论文追踪:深度学习与算法解析,"['计算机视觉', '深度学习', '算法', '学术会议', '论文摘要']
摘要由CSDN通过智能技术生成

第07部分 语句关键字


7.1 选择语句


7.1.1 if~else if~else

  • 基于某个布尔值类识别运行哪个语句。

7.1.2 switchcatchbreak~default

  • 表示根据与匹配表达式的模式,从候选列表中选择单个开关部分进行执行
  • 针对3个或更多条件测试单个表达式,switch可以替换if~else可选项,
  • 支持T泛型的类型:C#6.0之前支持字符串,字符型,bool,整数,枚举值,在C#7.0之后任何非null表达式。
  • switch最多可包含一个default语句部分。
  • 每组case一般不能丢失break,C#不允许case贯穿case,最多只有一个语句块被激活。
  • 可以通过break,goto,return显式跳出开关来满足要求,确保不出现贯穿。throw将跳出整个程序。
  • goto语句必须将控制权交给单个常量标签,防止产生不良副作用,如死循环。
  • case标签指定一个模式和一个匹配表达式,在C#6.0之前case不允许常量值相同,前后顺序不重要,在7.0之后支持了其他类型,不需要定义互斥值,允许case类型不同,但可能结果相同,因此要对case进行合理的排序。
  • case全部不执行就会进入default语句块。
  • 在case语句中可以使用when块来指定必须满足附加条件的case语句,when可以是任何返回bool的布尔表达式。

7.2 迭代语句


7.2.1 do~while

  • 先执行后判断的迭代语句,do~while会执行一次到多次,在do块中可以用break,goto,return,throw跳出循环。
  • 用Continue可以中断当前循环并进入下一次循环判断。

7.2.2 while

  • 进入判断后执行的迭代语句,while会执行0到多次。

7.2.3 for

  • for带有一个迭代器,用bool来控制迭代的次数,true会执行一次迭代,在进入判断是否继续迭代

7.2.4 foreach~in

  • 用来遍访一组集合的迭代器,集合是不可为null类型。当集合中没有元素时会自动跳出。

7.3 跳转语句


7.3.1 break

  • 表示立即跳出最近循环和开关,并将控制权交还给已终止语句后面的语句。

7.3.2 continue

  • 将控制权交给下一次迭代。

7.3.3 goto

  • 将控制权直接传递给标记语句,可用于跳出深层嵌套,利用标签(格式:“Finish:”)

7.3.4 return

  • 可终止当前它所在的方法的执行,并将控制权返回给调用方法。
  • return在try语句块中时在返回前会执行一次finally语句

7.4 异常处理语句


7.4.1 throw

  • 发出程序执行期间出现异常的信号。
  • 常用于try~catch中的异常抛出。

7.4.2 try~catch

  • 可包含一个try和多个catch块,指定不同异常的处理程序
  • 异常时,CLR查找此异常的catch语句,当没有与之匹配的catch时,会调用当前方法的方法,以此类推遍历调用堆栈,未找到时,将发布显式一条未处理的异常消息,并停止执行程序。
  • 可以使用派生自System.Exception的对象参数,当在多个catch语句中,应优先使用特定性更完整的异常语句。
  • 可以使用异常筛选器
catch (ArgumentException e) when (e.ParamName == "…"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值