foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成,in右边的项是集合名,in左边的项是变量名,又来存放该集合中的每个元素。
foreach循环语句的语法格式如下:
- foreach(类型 标识符 in 集合)
- {
- 代码;
- }
- foreach(数据类型 迭代变量 in 数组或者集合名)
- {
- 使用迭代变量
- }
foreach语句括号中的类型和标识符用来声明该语句的循环变量,标识符即循环变量的名称。循环变量相当于一个只读的局部变量。
在每一个循环时,都会从集合中取出一个新的元素值,放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面继续执行后面的语句。
foreach语句经常与数组一起使用。数组的属性:Array.Length数组的容量,利用这个属性,我们可以取得数组对象允许存储的容量值,也就是数组的长度、元素个数。当数组的维数、容量较多时,C#提供了foreach语句,专门用来读取集合/数组中的所有元素,我们把这种功能叫做遍历。
注意点:
备注:循环变量的类型必须与集合的类型相同。集合内元素的个数决定循环内程序段重复执行的次数。
- 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);
- }
- }
- }
- 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);
- }
- }
- }
- }
- 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);
- }
- }
- }