C# orientato agli oggetti

I record e il confronto per valore in C#

In questa lezione userai i record per rappresentare dati immutabili in modo breve e creerai copie modificate con l'espressione with.

Introduzione

Il record è un tipo pensato per oggetti che servono soprattutto a contenere dati. Con una sola riga di dichiarazione ha già costruttore, proprietà di sola lettura e una stampa ben formattata. Soprattutto, due record sono considerati uguali quando i valori al loro interno sono uguali.

La riga record User(string Name, string Role) crea un tipo con due proprietà, Name e Role. L'espressione original with { Role = "Lead" } crea una copia cambiando solo Role, mentre original mantiene Developer. Quando viene stampato, il record mostra il contenuto nel formato User { Name = Ada, Role = Lead }.

Esempio C# eseguibile

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

record User(string Name, string Role);

class Program
{
    static void Main()
    {
        var original = new User("Ada", "Developer");
        var promoted = original with { Role = "Lead" };
        Console.WriteLine(promoted);
    }
}
Risultato dell'esecuzione
User { Name = Ada, Role = Lead }

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