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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare e gestire sidecar container in Azure App Service
Utilizzare Hybrid Cache in .NET 9
Configurare automaticamente un webhook in Azure DevOps
Utilizzare WebJobs su Linux con Azure App Service
Selettore CSS :has() e i suoi casi d'uso avanzati
Abilitare il rolling update su Azure Functions flex consumption
Definire il colore di una scrollbar HTML tramite CSS
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Utilizzare Intersect e Except per filtrare set di dati in TSql
Utilizzare DeepSeek R1 con Azure AI
Recuperare gli audit log in Azure DevOps
Creare comandi nella dashboard .NET Aspire
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Gli oggetti CallOut di Expression Blend 4.0
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Inserire le news di Punto Informatico nel proprio sito


