Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Inizializza 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, 6

Il 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();
        }
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C# online