如何将 foreach 与二维对象数组一起使用?
Posted
技术标签:
【中文标题】如何将 foreach 与二维对象数组一起使用?【英文标题】:How to use foreach with a two dimensional array of objects? 【发布时间】:2016-04-11 08:06:06 【问题描述】:这是我的尝试,它不起作用(我是初学者)。这个想法是有一个简单的 Kid.years int 二维数组来了解如何将 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);
【问题讨论】:
【参考方案1】:您可以枚举二维数组,如下所示:
foreach (Kid item in array)
Console.WriteLine(item.years);
【讨论】:
非常感谢! abi naber keyifler nasıl? :)【参考方案2】:改成这样:
foreach (var item in array)
Console.WriteLine(item.years);
在我的小提琴中看到它:https://dotnetfiddle.net/Sfi0yu
【讨论】:
非常感谢,现在我明白了我应该使用 var 而不是 int!【参考方案3】:我认为您可能想介绍for
和foreach
在处理多维数组方面的差异,但您展示的示例不适用于这样做。
虽然下面的代码[][]
不完全是二维数组,命名为锯齿数组,但解释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://***.com/a/12567550/361100
【讨论】:
以上是关于如何将 foreach 与二维对象数组一起使用?的主要内容,如果未能解决你的问题,请参考以下文章