一、foreach

        foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成,in右边的项是集合名,in左边的项是变量名,又来存放该集合中的每个元素。

        foreach循环语句的语法格式如下:

foreach(类型 标识符 in 集合)

{

代码;

}

foreach(数据类型 迭代变量 in 数组或者集合名)

{

使用迭代变量

}

        foreach语句括号中的类型和标识符用来声明该语句的循环变量,标识符即循环变量的名称。循环变量相当于一个只读的局部变量。

        在每一个循环时,都会从集合中取出一个新的元素值,放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面继续执行后面的语句。

        foreach语句经常与数组一起使用。数组的属性:Array.Length数组的容量,利用这个属性,我们可以取得数组对象允许存储的容量值,也就是数组的长度、元素个数。当数组的维数、容量较多时,C#提供了foreach语句,专门用来读取集合/数组中的所有元素,我们把这种功能叫做遍历。

        注意点:

数据类型必须是和数组类型或者集合里面的元素类型相同。变量名也必须符合命名规则。最重要的一点就是,迭代变量是只能读取数组或者集合里面的值的,但是不能用于给数组或者集合里面的元素赋值,如果给迭代变量赋值,就会出现报错的情况。

        备注:循环变量的类型必须与集合的类型相同。集合内元素的个数决定循环内程序段重复执行的次数。

        二、案例(1)

using System;

namespace _20220831_2

{

class Program

{

static void Main(string[] args)

{

int x = 0, y = 0;

char[] ch1 = new char[] { '0', '1', '2', '3' };

foreach(char a in ch1)

{

if (a == '0')

x++;

else

y++;

}

Console.WriteLine(ch1);

Console.WriteLine("0的个数为:{0}\n1的个数为:{1}", x, y);

}

}

}

        三、案例(2)

using System;

namespace _20220901_1

{

class Program

{

static void Main(string[] args)

{

int[, ,] a = new int[2, 2, 2] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };//定义一个2行2列2纵深的3维数组a

foreach (int i in a)

{

Console.WriteLine(i);

}

}

}

}

        四、案例(3)

using System;

namespace _20220901_1

{

class Program

{

static void Main(string[] args)

{

double[] points = { 88, 77, 75, 35, 95.5 };

double sum = 0;

double avg = 0;

foreach (double point in points)

{

sum = sum + point;

}

avg = sum / points.Length;

Console.WriteLine("总成绩为:" + sum);

Console.WriteLine("平均成绩为:" + avg);

}

}

}

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: