Dichiarare e inizializzare array 2D
Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 2 di 66.
Un array 2D in C# può essere creato usando array frastagliati, che sono array di array e ti permettono di archiviare i dati in una struttura a griglia.
Per creare un array irregolare di interi con 3 righe e 4 colonne:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Il codice sopra crea un array 2D che ha questo aspetto (tutti gli elementi inizializzati a 0):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]Inizializza un array irregolare con valori:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Questo crea un array 2D con 2 righe e 3 colonne, contenente i valori:
[1, 2, 3]
[4, 5, 6]Per ottenere il numero di righe e colonne:
int rows = matrix.Length; // Restituisce 2
int columns = matrix[0].Length; // Restituisce 3 (per la prima riga)Per accedere agli elementi di un array 2D servono due indici: uno per la riga e uno per la colonna.
Assegna un valore a una posizione specifica (riga 1, colonna 2):
grid[1][2] = 42;Leggi un valore da una posizione specifica (riga 0, colonna 3):
int value = grid[0][3];Ricorda che gli indici degli array iniziano da 0, quindi gli intervalli validi sono:
- Righe: da 0 a 2 (per un array di 3 righe)
- Colonne: da 0 a 3 (per un array di 4 colonne)
Se provi ad accedere a un elemento al di fuori di questi intervalli (come grid[3][2]), otterrai un IndexOutOfRangeException.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Fondamenti degli array 2DDichiarare e inizializzare array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DArray irregolariOperazioni comuni sulle matriciRipasso: array multidimensionali4Tecniche di controllo del flusso
Uscite anticipateClausole di guardiaIstruzioni di salto (goto)Break e continueAppiattire le condizioni annidate2Decisioni avanzate
Condizioni multipleLogica booleana complessaConfronto tra if e switchIstruzioni switch annidateRiepilogo - decisioni avanzate5Gestione delle eccezioni
Nozioni di base su try-catchTipi di eccezioneBlocchi catch multipliLavorare con i fileBlocco finallyUsing vs. try-finallyEccezioni personalizzateRiepilogo - gestione degli errori3Miglioramenti dei cicli
Prestazioni dei cicliIterare strutture complesseOgni tipo di cicloRifattorizzare i cicliRiepilogo - Cicli ottimizzati6Gestione dei valori null
Fondamenti dei riferimenti nullTipi valore nullableSchemi di controllo dei valori nullProgrammazione difensivaRiepilogo: sicurezza rispetto ai valori nullEsercitati da solo: Compilatore C# online