Dichiarare una struct come record in C#

di Stefano Mostarda, in .NET,

La versione 9 di C# ha introdotto i record; classi di cui, una volta istanziate, non si possono modificare le proprietà. Quando il compilatore C# incontra un record e deve generarne il codice, questo genera una classe con proprietà in sola lettura e valorizzabili solo da costruttore. Il fatto che il compilatore generi una classe è uno dei limiti di C# 9, infatti esistono casi in cui sarebbe più corretto generare una struct, principalmente per motivi di performance.
Questa possibilità è stata introdotta con C# 10 semplicemente anteponendo la parola chiave record davanti a struct così come mostrato nell'esempio.

public record struct Person
{
    public string FirstName { get; init; }
    
    public string LastName { get; init; }
}

Volendo, possiamo utilizzare anche la versione più concisa dove dichiariamo direttamente le proprietà nel costruttore. In questo caso dobbiamo anche specificare la parola chiave readonly davanti a record.

public readonly record struct Product(string FirstName, string LastName);

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi