C#foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。
in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。
一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面的执行语句。
foreach语句经常与数组一起使用,在C#语言中提供了foreach语句遍历数组中的元素,具体的语法形式如下。foreach(数据类型 变量名 in 数组名)
{
//语句块;
}
这里变量名的数据类型必须与数组的数据类型相兼容。
在foreach循环中,如果要输出数组中的元素,不需要使用数组中的下标,直接输出变量名即可。
foreach语句仅能用于数组、字符串或集合类数据类型。
【实例】在Main方法中创建一个double类型的数组,并在该数组中存入5名学生的考试成绩,计算总成绩和平均成绩。
根据题目要求,使用foreach语句实现该功能,代码如下。
classProgram{staticvoidMain(string[]args){double[]points={80,88,86,90,75.5};doublesum=0;doubleavg=0;foreach(doublepointinpoints){sum=sum+point;}avg=sum/points.Length;Console.WriteLine("总成绩为:"+sum);Console.WriteLine("平均成绩为:"+avg);}}
在计算平均成绩时,通过数组的Length属性即可得到数组中元素的个数,使用总成绩除以元素的个数即为结果。
执行上面的语句,效果如下图所示。
从上面的执行效果可以看出,在使用foreach语句时可以免去使用下标的麻烦,这也给遍历数组中的元素带来很多方便。