C# foreach循环
提示
- foreach 循环简介:C# 的 foreach 循环提供了一种简单、易读的方式来迭代数组和集合中的每个元素。
- 工作原理:foreach 循环通过
in
关键字迭代集合或数组中的元素,每次迭代自动选择下一个元素。 - 适用性和优势:相比于传统的 for 循环,foreach 循环在处理数组和集合时更易读、易理解,适用于数组和集合的遍历,特别是当不需要知道元素的索引时。
C# 提供了一种易于使用且更易读的循环替代方式——foreach 循环,用于在处理数组和集合时迭代数组/集合的项目。foreach 循环迭代每个项目,因此称为 foreach 循环。
在深入了解 foreach 循环之前,请参阅:
- C# for 循环
- C# 数组
- C# 集合
foreach 循环的语法
foreach (元素 in 可迭代项)
{
// foreach 循环的主体
}
这里的可迭代项可以是数组或集合类。
foreach 循环的工作原理
与 foreach 循环一起使用的 in
关键字用于迭代 可迭代项
。in 关键字在每次迭代中从 可迭代项
中选择一个项目并存储在变量 元素
中。
在第一次迭代中,可迭代项
的第一个项目存储在元素中。在第二次迭代中,选择第二个元素,依此类推。
foreach 循环执行的次数等于数组或集合中的元素数量。
这里有一个使用 for 循环遍历数组的示例:
示例 1:使用 for 循环打印数组
using System;
namespace Loop
{
class ForLoop
{
public static void Main(string[] args)
{
char[] myArray = {'H','e','l','l','o'};
for(int i = 0; i < myArray.Length; i++)
{
Console.WriteLine(myArray[i]);
}
}
}
}
同样的任务可以使用 foreach 循环完成。
示例 2:使用 foreach 循环打印数组
using System;
namespace Loop
{
class ForEachLoop
{
public static void Main(string[] args)
{
char[] myArray = {'H','e','l','l','o'};
foreach(char ch in myArray)
{
Console.WriteLine(ch);
}
}
}
}
当我们运行这两个程序时,输出将是:
H
e
l
l
o
在上述程序中,foreach 循环遍历数组 myArray
。在第一次迭代中,选中第一个元素即 myArray[0]
并存储在 ch
中。
类似地,在最后一次迭代中,选中最后一个元素即 myArray[4]
。在循环体内部,打印 ch
的值。
当我们比较这两个程序时,使用 foreach 循环的程序更具可读性和易理解性。这是因为它的语法简单且表达性强。
因此,当处理数组和集合时,foreach 循环比 for 循环更受青睐。
示例 3:使用 foreach 循环遍历性别数组
此程序计算男性和女性候选人的数量。
using System;
namespace Loop
{
class ForEachLoop
{
public static void Main(string[] args)
{
char[] gender = {'m','f','m','m','m','f','f','m','m','f'};
int male = 0, female = 0;
foreach (char g in gender)
{
if (g == 'm')
male++;
else if (g =='f')
female++;
}
Console.WriteLine("男性数量 = {0}", male);
Console.WriteLine("女性数量 = {0}", female);
}
}
}
当我们运行程序时,输出将是:
男性数量 = 6
女性数量 = 4
示例 4:foreach 循环与列表(集合)
此程序计算 List 中元素的总和。
using System;
using System.Collections.Generic;
namespace Loop {
class ForEachLoop {
public static void Main(string[] args) {
var numbers = new List<int>() { 5, -8, 3, 14, 9, 17, 0, 4 };
int sum = 0;
foreach (int number in numbers) {
sum += number;
}
Console.WriteLine("总和 = {0}", sum);
Console.ReadLine();
}
}
}
当我们运行程序时,输出将是:
总和 = 44
在这个程序中,使用 foreach 循环遍历一个集合。遍历集合与遍历数组类似。
集合的第一个元素在第一次迭代时被选中,第二个元素在第二次迭代时被选中,以此类推,直到最后一个元素。