Esercizi C#

Aggiornare ordini immutabili con i record in C#

In questa lezione userai i record e l'espressione with per creare una nuova versione di un ordine senza modificare l'originale.

Introduzione

I dati immutabili (immutable) sono dati che non cambiano dopo essere stati creati. Invece di modificarli direttamente, crei una copia con le modifiche necessarie. Questo evita errori difficili da trovare quando più parti del programma condividono lo stesso oggetto.

L'espressione pending with { Status = "Shipped" } crea un nuovo ordine con lo stesso Id ma con stato Shipped. L'ordine pending originale resta con stato Pending, per questo il risultato stampato è Pending -> Shipped.

Esempio C# eseguibile

C#
Esegui il codice →
Program.cs
using System;
record Order(int Id, string Status);
class Program
{
    static void Main()
    {
        var pending = new Order(7, "Pending");
        var shipped = pending with { Status = "Shipped" };
        Console.WriteLine($"{pending.Status} -> {shipped.Status}");
    }
}
Risultato dell'esecuzione
Pending -> Shipped

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.