foreach 语句
假设我们效力于制造商,需要清点仓库,以确定目前拥有的准备发货的成品编号。除成品总计之外,我们可能还想要打印仓库中的桶数和每个桶的小计。成品就存储在这些桶中。这一小计打印输出可以创建审查足迹,让我们能够核对工作并识别库存量缩减。
使用 foreach 遍历数组
foreach 语句遍历数组中的每个元素,在其声明下运行代码块,并将临时变量中的值替换为当前循环表示的数组值。
string[] names = { "Bob", "Conrad", "Grant" };
foreach (string name in names)
{
Console.WriteLine(name);
}在 foreach 关键字下,包含 Console.WriteLine(name); 的代码块将为 names 数组的每个元素执行一次。当 .Net 运行时遍历数组的每个元素时,将存储在 names 数组的当前元素中的值分配给临时变量 name,以便能轻松访问代码块。
如果运行代码,将看到以下结果。
Bob
Conrad
Grant让我们使用 foreach 语句来创建仓库里每个 bin 中现有的全部项目的总和。
创建并初始化 int 数组
创建一个 int 数组,该数组将存储每个 bin 中的成品编号。
int[] inventory = { 200, 450, 700, 175, 250 };添加 foreach 语句以循环访问数组
接下来,添加一个用于循环访问 inventory 数组中每个元素的 foreach 语句,并暂时将当前元素的值分配给变量 items。
int[] inventory = { 200, 450, 700, 175, 250 };
foreach (int items in inventory)
{
}添加变量以对数组中每个元素的值求和
定义一个新变量,该变量表示仓库中所有成品的总和。请确保将其添加到 foreach 语句的外部。
int sum = 0;在 foreach 语句内部,添加以下代码行,以将 items 中存储的当前值添加到 sum 变量中。
sum += items;int[] inventory = { 200, 450, 700, 175, 250 };
int sum = 0;
foreach (int items in inventory)
{
sum += items;
}显示总和的最终值
在 foreach 语句的代码块下面,添加以下语句,该语句打印库存中各项的最终总和。
Console.WriteLine($"We have {sum} items in inventory.");请确保代码与以下代码段相匹配。
int[] inventory = { 200, 450, 700, 175, 250 };
int sum = 0;
foreach (int items in inventory)
{
sum += items;
}
Console.WriteLine($"We have {sum} items in inventory.");运行代码后,应看到以下输出。
We have 1775 items in inventory.创建一个变量,用于存储当前桶编号并显示小计
为满足最终要求,我们需要创建一个变量,用于存储 foreach 语句的当前迭代数,从而显示桶和该桶中的成品数,以及目前为止进行了计数的所有桶项的小计。
在 foreach 语句的上方,声明并初始化类型为 int 的新变量,存储正在处理其库存的 bin 的当前编号。
int bin = 0;在 foreach 代码块内部,每次执行代码块时都会递增 bin。
bin++;++ 运算符将变量的值增加 1。编写 bin = bin + 1 的快捷方式。
最终,在 foreach 中,以格式整洁的消息显示桶、其中的成品数量以及成品数量小计。
Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");请确保代码与以下代码段相匹配。
int[] inventory = { 200, 450, 700, 175, 250 };
int sum = 0;
int bin = 0;
foreach (int items in inventory)
{
sum += items;
bin++;
Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");
}
Console.WriteLine($"We have {sum} items in inventory.");运行代码,应看到以下输出。
Bin 1 = 200 items (Running total: 200)
Bin 2 = 450 items (Running total: 650)
Bin 3 = 700 items (Running total: 1350)
Bin 4 = 175 items (Running total: 1525)
Bin 5 = 250 items (Running total: 1775)
We have 1775 items in inventory.概括
关于本单元介绍的 foreach 语句和其他内容,需要谨记以下几点。
- 使用
foreach语句来循环访问数组中的每个元素,为数组中的每个元素执行一次关联的代码块。 foreach语句将数组中当前元素的值设置为临时变量,该临时变量可用于代码块的正文中。- 使用
++增量运算符将 1 添加到变量的当前值中。