C# foreach 循环:轻松遍历数组与集合
C# foreach 循环
了解 foreach 循环如何简化 C# 中数组和集合的遍历,提升代码可读性与性能。
在 C# 中,foreach 循环为处理数组、列表及其他集合提供了比传统 for 循环更简洁、更具表达力的替代方案。它自动处理索引,使代码更易读、更不易出错。
开始前,请复习基础主题:
foreach 循环语法
foreach (element in iterableItem) {
// foreach 循环体
}
iterableItem 可以是数组、列表或任何实现 IEnumerable 的类型。
foreach 循环工作原理

in 关键字每次迭代从 iterableItem 选取一个项目并赋值给变量 element。循环每个元素执行一次,迭代次数等于集合元素数量。
示例 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]);
}
}
}
}
示例 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 版本更短,消除索引计算,减少越界错误风险。
示例 3:统计性别数组中的男女性别数量
此例统计数组中 'm' 和 'f' 的出现次数。
using System;
namespace Loop {
class GenderCount {
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 总和
使用 List<int> 演示 foreach 与泛型集合的无缝配合。
using System;
using System.Collections.Generic;
namespace Loop {
class SumList {
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语言
- 掌握 C# while 与 do-while 循环:语法、示例与最佳实践
- 掌握 C# for 循环:语法、执行流程与实战示例
- 掌握 C++ for 循环:语法、流程图、范围循环与实战模式
- C++ while 与 do-while 循环:重复控制流完全掌握
- C 语言 for 循环完全指南:语法、机制与实战示例
- C 语言 while 与 do-while 循环实战指南
- C++ do-while 循环详解:语法、实战示例与嵌套循环
- 精通Python For循环:语法、示例与进阶模式
- 精通Python While循环:语法、示例与最佳实践
- 精通Python循环控制:break 与 continue
- 精通 Java for 循环:语法、示例与最佳实践
- 精通 Java 增强 for 循环:语法、示例与最佳实践