foreach 循环
无需索引即可迭代。
foreach 循环 是 CoddyKit 上的免费 C# Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 4 节课。
什么是 foreach
foreach 循环可以让您逐个访问集合中的每一项。
您不需要管理索引或计数器。C# 会为您遍历集合,并将每个元素交给您命名的变量。
这是读取数组或列表中所有项的最简洁方式。
基本语法
其结构很简单:foreach (var item in collection) 后面跟一个循环体。
每次执行时,item 都会保存下一个元素。到达最后一个元素后,循环会自动结束。
foreach (var name in names)
{
Console.WriteLine(name);
}您的第一个 foreach
让我们遍历一个字符串数组,并打印每个名称。
请注意,这里没有索引,也不需要检查长度。循环只需按顺序访问每个元素。
string[] names = { "Ada", "Linus", "Grace" };
foreach (var name in names)
{
Console.WriteLine(name);
}循环变量
循环变量(这里是 n)是针对每个项创建的一份新副本。
您可以使用任意喜欢的名称。请选择能够描述元素的名称,例如 number 或 n。
int[] scores = { 90, 75, 88 };
foreach (var n in scores)
{
Console.WriteLine(n);
}使用 var 与显式类型
您可以显式写出元素类型,而不是使用 var。
两种方式的效果相同。var 会让编译器推断类型,从而使代码更简短。
int[] scores = { 90, 75, 88 };
foreach (int score in scores)
{
Console.WriteLine(score);
}在循环体中执行操作
循环体可以执行任何操作:计算、条件判断或累计总数。
这里我们将每个值加入持续累加的总和,并在循环结束后打印结果。
int[] nums = { 4, 8, 15 };
int total = 0;
foreach (var x in nums)
{
total += x;
}
Console.WriteLine(total);带条件的 foreach
您可以在循环中放入 if,从而只对特定项执行操作。
这个示例只打印数组中的偶数。
int[] nums = { 1, 2, 3, 4, 5, 6 };
foreach (var x in nums)
{
if (x % 2 == 0)
Console.WriteLine(x);
}foreach 用于读取而非替换
循环变量在循环中是只读的。您不能重新赋值给它来更改集合。
这行代码会导致编译错误,因为 foreach 变量是不可变的。
foreach (var x in nums)
{
x = x + 1; // ERROR: cannot assign to iteration variable
}遍历字符
字符串是字符序列,因此您也可以对字符串使用 foreach。
每次执行都会从文本中提供一个 char。
string word = "code";
foreach (var c in word)
{
Console.WriteLine(c);
}何时使用 foreach
当您想访问每个元素且不需要索引时,请使用 foreach。
如果您需要位置信息,或希望在循环时修改集合,for 循环会更合适。
foreach 与 for
for 循环管理一个计数器,并使用类似 arr[i] 的索引方式。
foreach 隐藏了这些内部机制。只需读取每个项时,它更简短,也能避免索引偏移错误。
for (int i = 0; i < names.Length; i++)
{
Console.WriteLine(names[i]);
}快速检查
测试您对 foreach 循环的学习成果。
回顾
您了解到,foreach 可以在不使用索引的情况下访问集合中的每个元素。
循环变量是每个项的只读副本。需要简洁地读取数据时,请使用 foreach;需要位置信息或想要修改项时,请使用 for。
常见问题解答
「foreach 循环」课时是免费的吗?
是的 — 「foreach 循环」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 4 节课。
「foreach 循环」这节课中我会学到什么?
无需索引即可迭代。 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「foreach 循环」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- foreach 循环
- 迭代集合
- break 与 continue
- 常见迭代错误