繁体   English   中英

如何迭代多维数组的行和列?

[英]How do I iterate rows and columns of a multidimensional array?

我想在二维数组上分别迭代行和列:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM