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?

Foi útil?

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;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top