流程控制(详解foreach)

一般情况下,程序中的代码按其出现的顺序依次执行,这称为“顺序执行”。若要改变代码的执行流程,就要使用到控制结构。C#中的流程控制结构包括选择结构、循环结构、和跳转结构。

选择控制语句

If、if/else选择结构

switch/case

循环控制语句

循环控制while、do…while、for

跳转控制语句

break、continue

选择控制语句

If-else选择

语法:

If(<条件1>)

{

   <语句块1>

}

Else if(<条件2>)

{

   <语句块2>

}

……

Else

{

<语句块n>

}

 

Switch选择

C#语言的另一种多选条件叙述是switch多条件叙述,它是依照符合条件的特定值执行不同程序区块的程序代码。

语法:

Switch(选择变量)

{

   Case 值1:

     <语句块1>

     Break;

   Case 值2:

     <语句块2>

     Break;

……

   Case 值n:

     <语句块n>

     Break;

   Default:

     <语句块>

     Break;

}

switch/case 的其他特性

控制表达式switch的类型可以是整数类型、字符串类型等等,而各个case标签后的常量表达式的类型必须与控制表达式的类型相同,或者能够隐式的转换为控制表达式的类型。

case后面的表达式只能是常量,而不能是变量或表达式。

各个 case 标签不是连续的,也不必按特定顺序排列,但后面的常量表达式的值不能相等,每个case分支都必须以break语句结束。每个 case 标签中的语句数不限,但是语句中的任何代码都不能修改控制表达式的值。

default 标签可位于 switch…case 结构中的任意位置

default 标签不是必选的,但使用 default 标签是一个良好的编程习惯

 

循环控制语句

While循环

语法:

While(<条件>)

{

   <语句块>

}

 

do…while循环

语法:

Do

{

   <语句块>

}

While(<条件>);

do…while 循环与 while 循环类似,二者区别在于 do…while 循环中即使条件为假时也至少执行一次该循环体中的语句。

注意:其while子句之后要加上分号结束标记。

 

for循环

语法:

For(初始化;循环判断;循环迭代)

{

   <语句块>

}

 

foreach循环

语法

foreach(变量类型  变量名称  in  集合)

{

       语句块

}

能用foreach遍历的前提:凡是具有GetEnumerator()方法的类型才可以使用foreach变量。

注意:1.foreach循环中不允许修改集合的元素。2.其实通过foreach遍历数据,实际上是调用了一个“枚举器”来遍历数据,和foreach一点关系都没有,foreach只是一个语法上的简化而已。使用foreach语句主要就是降低了枚举的复杂度。

 foreach实例.rar:https://files.cnblogs.com/zyu19890106/foreach%E5%AE%9E%E4%BE%8B.rar

 

跳转控制语句

Break语句

跳转语句能够无条件的改变程序的控制权。

break语句用于跳出当前的代码段,它适用while、do-while、for、foreach循环结构,以及选择结构中的switch语句。在执行到break语句是,程序控制权将转移到这些控制语句的结束点。

 

Continue语句

使用continue语句能够跳出while、do-while、for和foreach循环语句,并将控制权转移到这些语句的开始点,也就是说continue语句只能跳过当前循环中尚未执行的代码,并继续下一次循环。

 

Return语句

1.return语句用于方法的返回,将控制权转移给方法的调用程序,但return语句要求后跟与方法返回类型相同的表达式。

2.程序主方法Main()中的return语句表示整个应用程序的退出点。如果方法返回类型为void,则可以使用不带表达式的return语句,return语句将终止当前执行的方法,后续的所有代码都不会被执行,即退出整个方法。

 

Goto语句

goto语句用于程序指令的无条件跳转。使用goto语句时需要在程序中预先声明一个标号,并在goto关键字后面指定该标号,从而将控制权转移给标号之后的语句。

posted @ 2014-08-03 19:12  百年一人  阅读(1186)  评论(0编辑  收藏  举报