如何将 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】:

我认为您可能想介绍forforeach 在处理多维数组方面的差异,但您展示的示例不适用于这样做。

虽然下面的代码[][]不完全是二维数组,命名为锯齿数组,但解释forforeach的情况会更合适。

        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 与二维对象数组一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 foreach 与特殊的第一个元素一起使用?

js对json数组的操作,如何将json数组里面的每一个对象的value取出生成与之对应的二维数组?

如何将 foreach 与哈希引用一起使用?

java使用foreach语句遍历二维数组如何实现?

微信小程序数组操作

SwiftUI - 将 ForEach 与不符合可识别/可散列的绑定数组一起使用