Como faço para iterar linhas e colunas de uma matriz multidimensional?
-
08-07-2019 - |
Pergunta
Eu gostaria de iterar as linhas e colunas separadamente em uma matriz bidimensional:
object[,] values;
Como eu iterate através de apenas as linhas e apenas as colunas?
Solução
Depende do que é colunas e linhas para você, mas você poderia usar esse trecho de código:
for (int i = 0; i < values.GetLength(0); i++)
Console.WriteLine(values[i, 0]);
E:
for (int i = 0; i < values.GetLength(1); i++)
Console.WriteLine(values[0, i]);
Outras dicas
Aqui está algum código para percorrer a primeira e segunda dimensões da matriz uma matriz dimensional 2. (Não há realmente "linhas" e "colunas", porque uma matriz multidimensional pode ter qualquer número de dimensões)
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];
}
matrizes multi-dimensionais não tem linhas e colunas na forma como você está se referindo a eles - eles só têm vários índices usados ??para valores de acesso. Iteração sobre um array tal seria feito usando aninhados for-loops, e se você quiser executar determinados cálculos em uma base per-dimensão que você deve alterar a ordem dos loops de conformidade.
Outra opção, se você só precisa iterar uma dimensão, é a utilização de uma matriz de matrizes em vez de uma matriz multi-dimensional como esta:
object[][] values;