Fondamenti di C#

Gli array in C#

In questa lezione creerai, leggerai, modificherai, scorrerai e ordinerai array in C#, compresi quelli bidimensionali.

Introduzione

Un array memorizza un numero fisso di valori dello stesso tipo. A ogni elemento si accede tramite un indice (index) che parte da 0. Dopo la creazione puoi cambiare il valore di ogni elemento, ma non la lunghezza dell'array.

La proprietà Length indica il numero di elementi, e scores[^1] è un modo breve per prendere l'ultimo elemento. Il ciclo foreach scorre tutti gli elementi per calcolare la somma e la media. Array.Sort ordina l'array sul posto. Un array creato con new int[3] contiene già i valori 0, e il tipo int[,] crea un array bidimensionale a cui si accede per riga e colonna.

Guarda come funziona

Fai clic su una casella o sposta il cursore per scegliere un indice. Inserisci o elimina per vedere perché tutti gli elementi successivi devono spostarsi.

Esempio C# eseguibile

C#
Esegui il codice →
Program.cs
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        // An array has a fixed length set when it is created.
        int[] scores = { 72, 95, 88, 64 };
        Console.WriteLine($"Length: {scores.Length}");
        Console.WriteLine($"First: {scores[0]}, last: {scores[^1]}");

        scores[3] = 70;  // elements can be changed, the length cannot

        int sum = 0;
        foreach (int score in scores)
        {
            sum += score;
        }
        Console.WriteLine($"Sum: {sum}, average: {sum / (double)scores.Length}");

        // Array.Sort sorts in place; string.Join prints the elements.
        Array.Sort(scores);
        Console.WriteLine($"Sorted: {string.Join(", ", scores)}");
        Console.WriteLine($"Max: {scores.Max()}");

        // new int[3] creates an array of zeros.
        int[] counts = new int[3];
        counts[1] = 5;
        Console.WriteLine($"Counts: {string.Join(" ", counts)}");

        // A 2D array is indexed by row and column.
        int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
        Console.WriteLine($"grid[1, 2] = {grid[1, 2]}");
    }
}
Risultato dell'esecuzione
Length: 4
First: 72, last: 64
Sum: 325, average: 81.25
Sorted: 70, 72, 88, 95
Max: 95
Counts: 0 5 0
grid[1, 2] = 6

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide