Domanda

Vorrei ripetere le righe e le colonne separatamente su un array bidimensionale:

object[,] values;

Come posso scorrere solo le righe e solo le colonne?

È stato utile?

Soluzione

Dipende dalle colonne e dalle righe per te, ma puoi usare questo frammento di codice:

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]);

Altri suggerimenti

Ecco del codice per scorrere tra la prima e la seconda dimensione dell'array un array bidimensionale. (Non ci sono davvero "righe" e "colonne" perché un array multidimensionale può avere un numero qualsiasi di dimensioni)

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];
}

Le matrici multidimensionali non hanno righe e colonne nel modo in cui ti stai riferendo ad esse - hanno solo diversi indici usati per accedere ai valori. L'iterazione su un tale array verrebbe eseguita utilizzando cicli for nidificati e, se si desidera eseguire determinati calcoli su una base per dimensione, è necessario modificare l'ordine dei loop di conseguenza.

Un'altra opzione, se hai solo bisogno di iterare su una dimensione, è usare una matrice di matrici invece di una matrice multidimensionale come questa:

object[][] values;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top