我有多个List,每个List使用.ToArray()
方法转换为数组。每个数组的大小各不相同,数组的名称为DataArray0
,DataArray1
,DataArray2
------ 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
的数据,依此类推。
该代码只是为了更好地了解我的问题。我知道打印语句会出错。
答案 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]);
}
}
}