C# 程序运行中的流程控制
1、C#之流程控制语句:计算机程序执行的控制流程由三种基本的控制结构控制,即顺序结构,选择结构,循环结构。
1) 顺序结构:从上到下,按照书写顺序执行每一条语句,不会发生跳跃。
代码段1; // 先执行代码段1
代码段2; // 接着执行代码段2
...
2)选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
if 结构:
if( 条件 )
{
条件成立执行语句;
}
if-else结构:
if(条件) {
条件成立执行;
}
else
{
条件不成立执行;
}
if else-if:
if(条件1)
{
条件1成立执行代码段;
}
else if (条件2)
{
条件2成立执行代码段;
}
else
{
条件都不成立执行代码段;
}
switch-case:
switch( 要判断的变量或者表达式 )
{
case 值1 :
执行语句1;
break; // switch的穿透性--不加break
case 值2 :
执行语句2;
break;
default:
默认执行语句;
break;
}
当要判断的变量或者表达式与其中一个case语句中的值相符时,就执行此case语句后面的语句,除非遇到break;语句跳出switch语句为止。如果要判断的变量或者表达式与所有case语句的值都不相符,就执行default语句中的语句并跳出switch语句。
4)循环结构:在给定条件成立的情况下,反复执行某一段代码。
while:
while( 循环条件 )
{
循环体;
}
while 中的循环条件成立时就会执行大括号里面的程序;
continue 结束当前的循环,进入到下一个循环;
break 终止整个循环,不再执行大括号里面的程序,进入下一步程序;
do-while:
do{
循环体;
}
while ( 循环条件 );
do-while 首先执行do中的循环体,执行完成后,去判断循环条件是否成立,如果成立,则继续回到do中执行循环体,如果不成立,则跳出do-while循环。
特点:先执行,再判断,最少执行一遍循环体。
for:
for(int i = 0; i< 10; i++)
{
要循环执行的内容 ;
}
int i = 0; 是初始条件 i < 10是循环条件 i++ 是技数状态改变
跟while循环一样,在循环体内使用 continue; 结束当前的循环,进入到下一个循环;
循环体内使用 break 终止整个循环,不再循环体中的程序;for一般在有明确循环次数的程序上使用。
循环嵌套:
for( int i =0; i < 10;i++)
{
for(int j =0; j < 10;j++)
{
...
}
}
foreach:C# 也支持 foreach 循环,使用foreach可以迭代数组或者一个集合对象。
foreach( var item in list)
{
...
}
foreach在处理集合和数组相对于for存在以下几个优势:
- foreach语句简洁;
- 效率比for要高(C#是强类型检查,for循环对于数组访问的时候,要对索引的有效值进行检查);
- 不用关心数组的起始索引是几(因为有很多开发者是从其他语言转到C#的,有些语言的起始索引可能是1或者是0);
- 处理多维数组(不包括锯齿数组)更加的方便。
2、try-catch异常捕获
try{
可能会出现异常的代码;
} catch (Exception ex) // ex-可能出现异常的异常信息
{
// 出现异常后要执行的代码;
} finally{
无论是否出现异常都会执行的代码;
}
执行过程:当try中的代码出现异常的时候,出现异常的这行代码后面的代码不会被执行。 跳到catch中执行catch的代码。
C# 程序运行中的流程控制的更多相关文章
- python中的流程控制
目录 引言 流程控制的分类 分支结构 单if结构 if与else结构 if与elif与else结构 if分支的嵌套 循环结构 while循环 while + break循环 while + conti ...
- Java中的流程控制(三)
关于Java中的流程控制 关于Java中的流程控制 4.do while语句 do while语句的功能和while语句差不多,只不过它是在执行完第一次循环后才检测条件表达式的值,这意味着包含在大括号 ...
- Python基础之:Python中的流程控制
目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样 ...
- zigbee学习:示例程序SampleApp中通讯流程
zigbee学习:示例程序SampleApp中通讯流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考链接: http://wjf88223.bl ...
- 程序运行中(BSS段、数据段、代码段、堆栈)
程序运行中(BSS段.数据段.代码段.堆栈) BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简 ...
- 内存模型 Memory model 内存分布及程序运行中(BSS段、数据段、代码段、堆栈
C语言中内存分布及程序运行中(BSS段.数据段.代码段.堆栈) - 秦宝艳的个人页面 - 开源中国 https://my.oschina.net/pollybl1255/blog/140323 Mem ...
- C中的流程控制
一. 流程控制 l 顺序结构:默认的流程结构.按照书写顺序执行每一条语句. l 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码. l 循环结构:在给定条件成立的情况下,反复执行某一 ...
- Java中的流程控制(二)
关于Java程序的流程控制(二) 关于Java程序的流程控制(二) 3.switch选择语句 switch语句用于将一个表达式的值同许多其他值比较,并按比较结果选择下面该执行哪些语句. switch( ...
- Java中的流程控制(一)
程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...
随机推荐
- python list和函数之间的复制和原地址修改问题
def change(a): a.pop() #自带的方法都是原地址修改 a=[,,] change(a) print (a)#直接修改了3. def change(a): a=[,,,] #复制操作 ...
- Hibernate中常见的异常处理
本文引自:http://www.blogjava.net/sy1214520/archive/2008/10/21/235667.html 本文总结Hibernate中常见的异常. 1. net.sf ...
- PLSQL 块demo
DECLARE v_servid NUMBER(16); v_stdno VARCHAR2(30); BEGIN FOR i IN (SELECT rownum rn, t.* ...
- Microsoft DirectX SDK 2010 版本下载
Microsoft DirectX SDK 2010 版本下载 Version:Date Published:9.29.19626/7/2010File name:File size:DXSDK_Ju ...
- eclipse怎样检出SVN项目
首先确定你的eclipse安装了svn插件.查看eclipse是否安装插件的方法:打开eclipse->文件->新建->其他 ,在弹出的选择向导窗口中如果能搜索到svn,说明ecli ...
- 2018.10.19 NOIP训练 yk赚钱记(01分数规划)
传送门 其实是一个裸的最优比率生成树. 注意精度的控制就行了. 代码
- 安装memcache服务
d:\tools\memcache\setup\memcached -d install
- BZOJ 1935 Tree 园丁的烦恼 (树状数组)
题意:中文题. 析:按x排序,然后用树状数组维护 y 即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000" ...
- WriteableBitmap(三) 扩展
backbuffer使用您在创建WriteableBitmap时指定的像素格式,还有一个BackBufferStride属性,您可以使用它来创建一个合适的存储映射函数. 添加一些方法来设置和获取特定情 ...
- POJ3258 River Hopscotch 2017-05-11 17:58 36人阅读 评论(0) 收藏
River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13598 Accepted: 5791 ...