C#学习笔记 控制流
来源:互联网 发布:2017破解软件大全 编辑:程序博客网 时间:2024/06/06 14:00
C#是一门命令式的语言,默认语句以顺序方式执行。利用控制流语句可以改变程序的执行流程,以实现复杂的算法。
条件语句
if语句
如果如果是单条件判断,可以使用if语句。if语句的执行体,既可以是单条语句也可以是由{}
花括号括起来的语句块。
bool b = false;if (b){ //当b为真时执行的语句}else //当b为假是执行的语句
else
子句是可选的,另外还可以if
嵌套,来执行多重判断。
switch语句
switch语句常用来从一组互斥的选项中选择一个分支执行。C#的switch语句要求每个分支后面都必须有break
语句,因此更加安全。
switch(condition){ case 1: //做一些事情 break; case 2: //做一些事情 break; default: //做一些事情 break;}
如果有两个分支需要执行一样的代码,可以写成这样:
case 1:case 2: //做一些事情 break;
switch
语句中case
的顺序无关紧要,但是case
后面的常量值不能相同。如果没有任何一个匹配,就会执行default
分支的语句。
循环语句
for循环
for循环常用来执行次数已知的循环,形式如下。注意增量表达式的计算是在循环体执行完成之后才计算的,然后执行下一次循环。
for(初始化表达式;测试条件;增量表达式){ //循环体}
例如打印九九乘法表的语句:
class Program { static void Main(string[] args) { for (int i = 1; i <= 9; ++i) { for (int j = 1; j <= i; ++j) { Console.Write($"{j}*{i}={i * j}\t"); } Console.WriteLine(); } } }
while循环
while
循环形式如下:
while(测试条件){ 循环体}
注意循环体中必须有能够改变测试条件的增量语句,不然就会变成死循环。
do-while循环
do-while
循环形式如下:
do{ 循环体} while(测试变量);
和while
循环差不多,不过需要注意的是它是先执行循环体然后判断条件。同样,在循环体中应该有能够改变执行条件的增量语句。
foreach循环
foreach
循环常用来迭代某个集合中的所有项。能够使用foreach
循环迭代的对象,都应该实现了IEnumberable接口。
int []array={1,2,3,4,5};foreach(int i in array){ Console.WriteLine(i);}
需要注意的是,在foreach
循环中,不能改变集合中的项。如果想要改变值的话,应该使用for
循环。
跳转语句
goto语句
goto语句可以用来无条件跳转到另一个标签的位置。
Label: //做一些事情 //另外一些事情goto Label; //这会跳转到Label标签处。
需要注意的是,goto
语句不能跳到其它代码块中,不能跳出类的范围,也不能跳出finally
语句块。由于goto
常常会破坏合理的编程结构,因此不推荐在C#这样的面向对象语言中使用goto语句。
break语句
break
语句用来跳出当前的代码块,比如switch
语句中的case
分支,或者是一些循环语句。如果有箱套的代码块,那么使用break只会跳出当前层的代码块。另外,如果break语句没有放在switch语句或者循环语句中,就会发生错误。
return语句
return语句用于退出方法。如果方法没有返回值,那么就使用空的return语句。
- C#学习笔记 控制流
- C#学习之路,学习笔记 第四章 流程控制
- Golang学习笔记 控制流
- C#2005 .NET3.0高级编程学习笔记————流控制
- 《C#入门经典》学习笔记(流程控制)
- <C#入门经典>学习笔记2之控制流程
- 重新学习C# 之 流控制
- C#学习之流控制
- c#控制输入学习
- C#学习之流控制
- 用C#控制TQ2440开发板上的LED小灯(C# GPIO学习笔记)
- 用C#控制TQ2440开发板上的LED小灯(C# GPIO学习笔记)
- 学习python笔记——控制流
- Linux系统学习笔记:异常控制流
- python学习旅程笔记3-控制流
- C/C学习笔记/控制流
- Swift学习笔记(三)控制流
- Swift 学习笔记 3-控制流
- DataSet转换为实体(函数)
- 《Android 智能穿戴设备开发-从入门精通》读书笔记
- springmvc学习总结之配置篇
- 拓扑排序
- NOIP2006提高组 能量项链
- C#学习笔记 控制流
- CSS盒模型
- Java字符串
- 解决异常“SqlParameterCollection 只接受非空的 SqlParameter 类型对象。”
- 邮件服务器常见问题
- (错误处理)使用u盘安装centos后无法进入系统,开机启动项选择在U盘了
- c# 如何获取项目启动目录
- 微信开发之客服消息的使用
- linux分区建议