这是我的尝试,它不起作用(我是初学者)。我们的想法是拥有一个简单的Kid.years整数二维数组,以了解如何将foreach与对象一起使用。
using System;
namespace Test
{
class Kid
{
public int years;
}
class Program
{
static void Main()
{
Kid[,] array = new Kid[4, 5];
for (int counter = 0; counter < 4; counter++)
{
for (int counter2 = 0; counter2 < 5; counter2++)
{
array[counter, counter2] = new Kid();
array[counter, counter2].years = counter + 1000;
}
}
foreach (int item in array[,].years)
{
Console.WriteLine(item);
}
}
}
}
答案 0 :(得分:4)
您可以枚举二维数组,如下所示:
ggplot2
答案 1 :(得分:2)
改变它:
foreach (var item in array)
{
Console.WriteLine(item.years);
}
看到它在我的小提琴中工作:https://dotnetfiddle.net/Sfi0yu
答案 2 :(得分:0)
我认为您可能希望在处理多维数组时引入for
和foreach
差异,但您显示的示例不适用于此。
虽然下面的代码[][]
不完全是2d数组,但名为 jagged arrays ,但解释for
和foreach
情况会更合适。
static void Main()
{
Kid[][] array = new Kid[4][];
for (int counter = 0; counter < 4; counter++)
{
array[counter] = new Kid[5];
for (int counter2 = 0; counter2 < 5; counter2++)
{
array[counter][counter2] = new Kid();
array[counter][counter2].years = counter + 1000;
}
}
// how to use foreach.
foreach (Kid[] item in array)
{
foreach (var kid in item)
{
Console.WriteLine(kid.years);
}
}
Console.ReadLine();
}
如果您想查看图片中[][]
和[,]
的差异,请参阅此解释清楚的链接:https://stackoverflow.com/a/12567550/361100