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的代码。