0Pricing
C# Academy · Lezione

Array multidimensionali

Griglie e array irregolari.

Array multidimensionali è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.

Oltre una singola riga

Finora gli array erano una singola riga di valori. Un array multidimensionale memorizza i valori in una griglia, come un foglio di calcolo con righe e colonne.

Sono ideali per tabelloni di gioco, tabelle e matrici.

Dichiarare un array bidimensionale

Un array bidimensionale usa una virgola tra le parentesi quadre: [,]. Deve specificare due dimensioni: il numero di righe e il numero di colonne.

Questa griglia ha 2 righe e 3 colonne, quindi contiene 6 valori.

int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0

Accedere alle celle

Per leggere o scrivere in una cella, specifichi sia l'indice della riga sia quello della colonna, separati da una virgola.

Entrambi gli indici partono da zero, proprio come negli array a una dimensione.

int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9

Inizializzare una griglia

Può riempire un array bidimensionale al momento della creazione usando parentesi graffe annidate. Ogni gruppo interno rappresenta una riga.

Tutte le righe devono avere lo stesso numero di colonne.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4

Il metodo GetLength

Con due dimensioni, Length restituisce il numero totale di celle. Per ottenere la dimensione di una singola dimensione, usi GetLength.

GetLength(0) indica il numero di righe, mentre GetLength(1) indica il numero di colonne.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length);        // 6
Console.WriteLine(grid.GetLength(0));  // 2
Console.WriteLine(grid.GetLength(1));  // 3

Scorrere una griglia

Per visitare ogni cella, usi un ciclo per le righe all'interno di un altro ciclo per le colonne. Il ciclo esterno seleziona una riga, mentre quello interno scorre le relative colonne.

Usi GetLength per fare in modo che i cicli corrispondano alle dimensioni effettive.

int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine(grid[r, c]);
    }
}

Un programma completo con una griglia

Questo programma completo crea una piccola griglia, quindi stampa ogni valore insieme alla relativa riga e colonna.

Lo esegua per vedere elencate tutte e quattro le celle.

int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
    }
}

Tre dimensioni

Può aggiungere altre dimensioni usando più virgole. Un array tridimensionale usa [,,] e tre dimensioni.

Lo immagini come una pila di griglie. Sono meno comuni, ma seguono le stesse regole.

int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5

Array frastagliati

Un array frastagliato è un array di array, scritto [][]. A differenza di una griglia rettangolare, ogni riga può avere una lunghezza diversa.

Vi si accede usando due coppie separate di parentesi quadre.

int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5

Rettangolare o frastagliato

Un array rettangolare [,] ha sempre righe della stessa lunghezza e memorizza i dati in modo compatto. Un array frastagliato [][] consente lunghezze diverse per le righe.

Scelga un array rettangolare per le vere tabelle e uno frastagliato quando la lunghezza delle righe varia naturalmente.

int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3

Sommare una griglia

Può sommare tutti i valori di una griglia aggiungendo ogni cella all'interno di cicli annidati.

Questo schema si adatta a qualsiasi numero di righe e colonne.

int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
    total += v;
}
Console.WriteLine(total); // 10

Verifica rapida

Verifichi le sue conoscenze sugli array multidimensionali.

Riepilogo

Ha imparato a creare griglie con [,], ad accedere alle celle con gli indici di riga e colonna e a misurarle con GetLength.

I cicli annidati visitano ogni cella, le virgole aggiuntive aggiungono dimensioni e gli array frastagliati [][] consentono righe di lunghezza diversa. Ora può memorizzare ed elaborare tabelle di dati in C#.

Domande Frequenti

La lezione «Array multidimensionali» è gratuita?

Sì — il testo completo di «Array multidimensionali» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.

Cosa imparerò in «Array multidimensionali»?

Griglie e array irregolari. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Array multidimensionali»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Dichiarare array
  2. Indicizzazione e lunghezza
  3. Iterare sugli array
  4. Array multidimensionali
← Torna a C# Academy