10 语句--C#

本文介绍了C#编程中的基本语句类型,包括声明、表达式和控制流程语句,如if、while、do、for、switch和跳转语句。同时详细阐述了using语句在资源管理中的作用,确保资源得到适当释放。通过实例展示了各种语句的用法,帮助读者理解C#中的程序控制流程。
摘要由CSDN通过智能技术生成

1. 什么是语句

语句是描述某个类型或让程序执行某个动作的源码指令。

语句主要有3中类型:声明语句,嵌入语句,便签语句。

简单语句由一个表示式和后面的分号组成。

块是一对大括号括起来的语句序列,可包含声明语句,嵌入语句,标签语句,嵌套块。

//简单声明

int x = 10;

int y;

//嵌入式语句

{

int z = 10;

for (int i = 0; i < z; i++)

{

y += i;

}

}

空语句,仅由一个分号组成

if (x < y)

;

else

y++;

2. 表达式语句

表达式求值,被视为副作用。将表达式右边的值赋给左边的变量。

3.控制流程语句

条件语句: if, if…else…, switch

循环语句: while, do , for , foreach

跳转语句:break, continue, return, goto, throw

条件执行和循环结构,除foreach外,都需要一个测试表达式或条件以决定程序是否继续执行。

===

4. if 语句

按条件执行。

if (boolExpr)
    statement

5. if …else…语句

if(boolExpr)

Statement1

else

statement2

if …else if…else 语句

6. while 语句

while循环是一种简单的循环结构。

while(boolExpr)

Statement

7. do 循环

do 循环是一种简单循环结构,其测试表达式在循环的底部执行。

do

statement

while(boolExpr);

循环体至少执行一次,测试表示的关闭圆括号后需要一个分号

8. for循环

for( initizlizer;  Expr, IterationExpr)

Statement

for语句中的变量的作用域,只在for语句内部可见。

初始化和迭代表示中的多表达式

初始化表达式和迭代表达式都可以包含多个表达式,逗号隔开。

for(int i=0, j=10; i<5; i++,j+=10)

{

Console.WriteLine($"{i}  {j}");

}

输出:

0 10

1  20

2  30

3  40

4  50

9. switch语句

实现多路分支。

switch语句由一个通常称为测试表达式或匹配表达式的参数。这些测试表达式必须是以下数据类型之一:char, string, bool, integer(int, byte, long等),enum。C# 7.0中允许为任何类型。

switch包含0个活多个分支块。

每个分支块都以一个或多个分支标签开头。

每个分支必须遵守“不穿透规则”,通常是break语句结束来实现达到终点。还可以使用return, goto, continue, throw跳转。

分支块按照顺序执行。

其它类型的模式表达式

case标签由关键字case和其后的表达式模式构成

default 段不是必须的

分支标签

C# 7.0之前必须是常量表达式,C# 7.0 之后可以是任意类型。

10. 跳转语句

当控制流程到达跳转语句,程序执行无条件的转移到程序的另一部分。

break, continue, return, goto, throw

break 语句

可以用在 switch语句中外,还可以用在for, foreach, while,  do 语句中。break 导致执行跳出最内层封装语句。

int x = 0;

while(true)

{

x++;

if (x > 3)

break;

Console.WriteLine(x);

}

continue语句

导致程序执行转到下列类型循环的最内层封装语句的顶端。 while, do, for , foreach

for(int x=0; x<5; x++)

{

if (x < 3)

continue;

Console.WriteLine($“Value is {x}”);

}

标签语句

标签语句由一个标识符后面跟着一个冒号,在跟一条语句组成。

Identifier:Statement

允许控制代码从代码的其它部分转移到该语句; 只允许用在块内部。

goto语句

无条件的控制转移到一个标签语句。

goto  identifier

goto 语句必须在标签语句作业域之内,可以跳到它所在块内的任何标签,或者跳到任何嵌套它的块内标签语句

不能跳入嵌套在其所在块内部的任何块。goto 语句会导致弱化结构,难以调试和维护,尽量不使用。

11. Using 语句

某些类的非托管对象有数量限制或者很耗系统资源,代码在使用完,应尽快释放它们。using语句由助于简化该过程,并确保资源被适当的处置。

资源是指实现了System.IDisposable接口的类或结构。分配资源,使用资源,处置资源。

包装资源的使用

using语句帮助减少意外的运行时错误带来的潜在问题。using语句隐式产生处置该资源的代码

using(Resource Indetifier = Exprssion) //分配资源

statement //使用资源

using(TextWriter writer = File.CreateText(“Test.txt”))

{

writer.WriteLine(“This is only test string…”);

}

using(TextReader reader = File.OpenText(“Test.txt”))

{

string getString ;

while(null!= (getString = reader.ReadLine()))

{

Console.WriteLine(getString);

}

}

多个资源和嵌套

using 语句可以用于相同类型的多个资源,资源声明用逗号隔开。

using(ResourceType Id1=Expr1, Id2=Expr2…) EmbededStatement

using语句的另一种形式,不推荐使用,不确保用完资源后总调用Dispose方法

using( Expression) EmbededStatement

12. 其它语句

checked, uncheked 语句

foreach语句

try…throw…finally 异常处理语句

return 语句

yield语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flysh05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值