遍历数组
使用 for 和 foreach。
遍历数组 是 CoddyKit 上的免费 C# Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 4 节课。
为什么要使用循环
数组通常包含许多值,而您很少希望手动输入每个索引。循环会自动为每个元素重复执行某个操作。
这样,您只需几行代码就可以打印、求和或检查所有值。
for 循环
for 循环使用一个计数器。将它从 0 开始,在计数器小于 Length 时继续执行,并在每次执行后加一。
计数器同时也是索引,因此您可以访问每个元素。
int[] nums = { 10, 20, 30 };
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}完整的 for 程序
这个完整程序会遍历颜色数组,并将每种颜色分别打印在单独的一行上。
运行它,注意同一行代码是如何处理每个元素的。
string[] colors = { "red", "green", "blue" };
for (int i = 0; i < colors.Length; i++)
{
Console.WriteLine(colors[i]);
}foreach 循环
当您只需要值而不需要索引时,foreach 会更简单。它会按顺序提供每个元素。
您不需要管理计数器,因此出错的机会更少。
string[] colors = { "red", "green", "blue" };
foreach (string c in colors)
{
Console.WriteLine(c);
}使用 var 的 foreach
您可以在 foreach 中使用 var,让 C# 推断元素类型。
这样可以让循环更简短,同时仍然保证类型安全。
int[] nums = { 1, 2, 3 };
foreach (var n in nums)
{
Console.WriteLine(n * 2);
}for 与 foreach
当您需要索引、希望跳过某些元素或必须修改数组时,请使用 for。当您只需读取每个值时,请使用 foreach。
您不能更改 foreach 的循环变量来写回数组;如需这样做,请使用 for。
int[] nums = { 1, 2, 3 };
for (int i = 0; i < nums.Length; i++)
{
nums[i] = nums[i] + 1; // updates the array
}
Console.WriteLine(nums[0]); // 2元素求和
一个常见任务是将所有值相加。请保留一个持续累加的总数,并在循环中加入每个元素。
这种模式适用于计数、求总数和计算平均值。
int[] nums = { 4, 8, 15 };
int total = 0;
foreach (int n in nums)
{
total += n;
}
Console.WriteLine(total); // 27查找最大值
要查找最大值,请先假设第一个元素就是最大值,然后比较其他每个元素。
每当找到更大的值时,就更新最大值。
int[] nums = { 3, 9, 2, 7 };
int max = nums[0];
foreach (int n in nums)
{
if (n > max) max = n;
}
Console.WriteLine(max); // 9搜索值
您可以通过循环检查某个值是否存在。找到匹配项后立即跳出循环,以减少不必要的工作。
标志变量会记录是否找到了该项。
string[] names = { "Ana", "Bo", "Cy" };
bool found = false;
foreach (string n in names)
{
if (n == "Bo") { found = true; break; }
}
Console.WriteLine(found); // True使用索引打印
有时您还希望显示位置。for 循环可以同时提供索引和值。
这非常适合用于编号列表。
string[] tasks = { "Wake", "Eat", "Code" };
for (int i = 0; i < tasks.Length; i++)
{
Console.WriteLine((i + 1) + ". " + tasks[i]);
}遍历一段范围
您不必遍历整个数组。更改 for 循环的起始位置或结束位置,即可只访问其中的一部分。
这里我们从索引 1 开始,从而跳过第一个元素。
int[] nums = { 10, 20, 30, 40 };
for (int i = 1; i < nums.Length; i++)
{
Console.WriteLine(nums[i]); // 20, 30, 40
}快速检查
测试您对循环的理解。
回顾
您学会了使用 for(计数器和索引)以及 foreach(直接获取每个值)遍历数组。
当您需要索引或想要修改元素时,请使用 for;需要简洁地只读遍历时,请使用 foreach。您还学会了求和、搜索和查找最大值。接下来,您将使用多维数组处理网格。
常见问题解答
「遍历数组」课时是免费的吗?
是的 — 「遍历数组」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 4 节课。
「遍历数组」这节课中我会学到什么?
使用 for 和 foreach。 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「遍历数组」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。