在一个for循环中打印不同的数组

时间:2019-03-22 09:55:39

标签: c# arrays list

我有多个List,每个List使用.ToArray()方法转换为数组。每个数组的大小各不相同,数组的名称为DataArray0DataArray1DataArray2 ------ DataArrayN。我想在for循环中打印这些数组的值,这样我就不必为每个数组编写多个Console.WriteLine语句。

在C#中,有什么方法可以写类似的东西:

for (int jj = 0; jj < colCount; jj++)
{
    for (int jjj = 0; jjj < rowCount; jjj++)
    {
        Console.WriteLine(DataArray+[jj]+[jjj]);
    }
}

我希望它先打印出DataArray0的数据,然后再打印DataArray1的数据,依此类推。 该代码只是为了更好地了解我的问题。我知道打印语句会出错。

2 个答案:

答案 0 :(得分:0)

所以从我收集的数据中,您可以看到一个列表列表(或数组,没关系)。

您可以使用foreach遍历它们:

var list_of_lists = new List<List<int>>{
    new List<int>{1,2},
    new List<int>{3,4,5},

};

foreach (var item in list_of_lists)
{
    foreach (var nested_item in item)
    {
        Console.WriteLine(nested_item);
    }
}

答案 1 :(得分:0)

您应该创建数组数组并添加其他循环。

然后在每个数组的某个位置打印元素:

var arrays = new DataArray[] { DataArray0, DataArray1, ...} // use correct type

for (int jj = 0; jj < colCount; jj++)
{
    for (int jjj = 0; jjj < rowCount; jjj++)
    {
        for (var arrayIndex = 0; arrayIndex < arrays.Length; a++)
        {  
            Console.WriteLine(arrays[arrayIndex][jj][jjj]);
        }
    }
}

OR

要依次打印一个数组:

for (var arrayIndex = 0; arrayIndex < arrays.Length; a++)
{
    for (int jj = 0; jj < colCount; jj++)
    {
        for (int jjj = 0; jjj < rowCount; jjj++)
        {
            Console.WriteLine(arrays[arrayIndex][jj][jjj]);
        }
    }
}