Fondamenti degli array 2D
Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 1 di 66.
In C#, un array frastagliato è un array di array, che forma una griglia o una struttura simile a una matrice. È come una tabella con righe e colonne, in cui ogni cella può contenere un valore. Gli array frastagliati sono utili per rappresentare dati che hanno una relazione bidimensionale, come una scacchiera, una disposizione dei posti o un gioco basato su una griglia.
Ecco come dichiarare e inizializzare un array irregolare in C#:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Il tipo di elementi che l'array conterrà (ad es., int, string, ecc.).
arrayName: Il nome che dai all'array.
numberOfRows: Il numero di righe nell'array.
Ogni riga deve poi essere inizializzata separatamente:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// e così via...Ad esempio, per creare un array irregolare di interi con 3 righe, in cui ogni riga ha 4 colonne, scriveresti:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Puoi anche inizializzare direttamente un array frastagliato con dei valori:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Nota: Questa piattaforma usa un compilatore precedente a C# 12. La sintassi più breve delle espressioni di raccolta introdotta in C# 12 (ad es. int[][] matrix = [[1, 2], [3, 4]];) non è supportata qui. Usa la sintassi di inizializzazione tradizionale new int[][] { ... } mostrata sopra.
Sfida
FacileInizializza un array irregolare con i seguenti valori:
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Il tuo compito è inizializzare correttamente l'array irregolare con questi valori esatti e assicurarti che il programma stampi correttamente la matrice.
Nota: Questa piattaforma usa un compilatore precedente a C# 12. La sintassi delle espressioni di raccolta di C# 12 (ad esempio, int[][] matrix = [[1, 2], [3, 4]];) non è supportata. Usa invece la sintassi di inizializzazione tradizionale:int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
Provalo tu
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Write your code here
};
// Print the matrix
int rows = matrix.Length;
for (int i = 0; i < rows; i++)
{
int cols = matrix[i].Length;
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i][j] + " ");
}
Console.WriteLine();
}
}
}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