黑马程序员---语句

-> 语句是描述一个类型或告诉程序去执行一个动作的源代码指令
有3种主要语句种类:
1、声明语句:声明类型或变量的语句
2、嵌入语句:执行动作或管理控制流的语句
3、标签语句:控制可以跳转的语句
-> 表达式语句
-> 控制流语句
-> 条件执行一句一个条件执行或跳过一个代码片段
1、if
2、if...else
3、swith
-> 循环语句重复执行一个代码段
1、while
2、do
3、for
4、foreach
-> 跳转语句把控制流从一个代码片段改变到另一个代码片段中的指定语句
1、break 导致执行跳出最内层封装的语句
2、continue 导致程序执行转到循环的最内存封装循环的顶端
3、return
4、goto
5、throw
-> 标签语句
标签语句由一个标签后面跟着一个冒号再跟着一条语句组成。
Identifier:Statement
标签语句的执行完全如同标签标签不存在一样,并仅执行Statement部分
-> 给语句增加一个标签允许控制从代码的另一部分转移到该语句
-> 标签语句只允许用在块内部
-> 标签
标签有它们自己的声明空间,所以标签语句中的标识符可以是任何有效的标识符,包括那些可能已经在重叠的范围内声明的标识符,比如本地变量或参数名。
int xyz = 0;
xyz:Console.WriteLine("No problem");
然而,也有限制。该标识符不能是:
1、在重叠范围内和另一个标签标识符相同
2、关键字
-> 标签语句的范围
标签语句不能从它的声明所在的块的外部可见。标签语句的范围
1、它声明所在的块
2、任何嵌套在该块内部的块
-> goto语句
goto语句无条件转移控制到一个标签语句。它的一般形式如下,其中Identifier是标签语句的标识符:
goto Identifier;
goto语句必须唉标签语句的范围之内:
-> goto语句可以跳到它本身所在块内的任何标签语句,或跳出到任何它被嵌套的块内的标签语句。
-> goto语句不能跳入任何嵌套在该语句本身所在块内部的任何块。
警告:使用goto语句是非常不好的,因为它会导致弱结构化的、难以调试和维护的代码。
-> using语句
using语句有助于简化释放过程并确保这些资源被适当地处置。
资源是一个实现System.IDisposable接口的类或结构。IDisposable接口含有单独一个名称为Dispose的方法。
使用资源的阶段:
1、分配资源
2、使用资源
3、处置资源
如果正在使用资源的那部分代码中产生一个意外的运行时错误,那么处置资源的代码可能得不到执行。
-> 资源的包装使用
using语句帮助减少意外的运行时错误带来的潜在问题,他整洁地包装了资源的使用。
有两种形式的using语句。
-> 第一种形式
1、圆括号内的代码分配资源
2、Statement是使用资源的代码
3、using语句隐式产生处置该资源的代码
using(ResourceType Identifier = Expression) Statement
-> 第二种形式
1、分配资源
2、把Statement放进try块
3、创建资源的Dispose方法的调用,并把它放进finally块
-> 多个资源和嵌套
using语句还可以被用于相同类型的多个资源,资源声明用都好隔开。
using语句还可以被嵌套
-> using语句的另一种形式
using语句的另一种形式如下:
using(Expression) EmbeddedStatement
在这种形式中,资源在using语句之前声明。
TextWriter tw = File.CreateText("1.txt");
using(tw)
tw.WriteLine("....");
虽然这种形式也能确保对资源的使用结束后Dispose方法总是被调用,但它不能防止你在using语句已经释放了它的非托管资源之后使用该资源,把它留在一种不一致的状态。因此他提供了较少的保护,而且不推荐使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值