我想在二维数组上分别迭代行和列:
object[,] values;
我将如何仅遍历行和列?
这取决于您的列和行,但您可以使用以下代码片段:
for (int i = 0; i < values.GetLength(0); i++)
Console.WriteLine(values[i, 0]);
和:
for (int i = 0; i < values.GetLength(1); i++)
Console.WriteLine(values[0, i]);
这是一些代码来遍历数组的第一维和第二维数组。(实际上没有“行”和“列”,因为多维数组可以有任意数量的维度)
object[,] values = new object[5,5];
int rowIWant = 3; //Make sure this is less than values.GetLength(0);
//Look at one "row"
for(int i = 0; i < values.GetLength(1); i++
{
//Do something here with values[rowIWant, i];
}
int columnIWant = 2; //Make sure this is less than values.GetLength(1);
//Look at one "column"
for(int i = 0; i < values.GetLength(0); i++
{
//Do something here values[i, columnIWant];
}
多维数组没有您引用它们的方式的行和列 - 它们只有几个用于访问值的索引。迭代这样的数组将使用嵌套的 for 循环来完成,如果您想在每个维度的基础上执行某些计算,您应该相应地更改循环的顺序。
如果您只需要迭代一个维度,另一种选择是使用数组数组而不是像这样的多维数组:
object[][] values;