C# foreach 循环
C# foreach 循环
在本文中,我们将了解 foreach 循环(for 循环的替代方案)以及如何将它们与数组和集合一起使用。
C# 提供了一种易于使用且更具可读性的 for 循环替代方案,即在处理数组和集合以遍历数组/集合项时的 foreach 循环。 foreach 循环遍历每一项,因此称为 foreach 循环。
在继续使用 foreach 循环之前,请访问:
- C# for 循环
- C# 数组
- C# 集合
foreach 循环的语法
foreach (element in iterable-item) { // body of foreach loop }
这里的iterable-item可以是一个数组,也可以是一个集合类。
foreach 循环如何工作?
<图>
in
与 foreach 循环一起使用的关键字用于迭代 iterable-item . in 关键字从 iterable-item 中选择一个项目 每次迭代并将其存储在变量 element 中 .
在第一次迭代时,iterable-item 的第一项 存储在元素中。在第二次迭代时,选择第二个元素,依此类推。
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("Number of male = {0}", male);
Console.WriteLine("Number of female = {0}", female);
}
}
}
当我们运行程序时,输出将是:
Number of male = 6 Number of female = 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("Sum = {0}", sum);
Console.ReadLine();
}
}
}
当我们运行程序时,输出将是:
Sum = 44
在这个程序中,foreach 循环用于遍历一个集合。遍历集合类似于遍历数组。
在第一次迭代时选择集合的第一个元素,在第二次迭代时选择第二个元素,依此类推,直到最后一个元素。
C语言