La funzionalità più importante introdotta dalla versione 8 di C# è senza dubbio quella dei nullable reference type. Fino alla versione 7 di C#, una variabile che ha come tipo un reference type può sempre essere null e non c'è modo di evitarlo. L'impossibilità di specificare la non nullabilità, unita alla mancanza di controlli nel codice, può causare l'errore a runtime più diffuso in .NET: NullReferenceException.
C# 8 permette di specificare quando una variabile di tipo reference type può essere null o meno semplicemente aggiungendo il carattere "?" al termine del tipo della variabile e permette di abilitare i controlli di nullabilità della variabile durante la compilazione andando a scovare i casi in cui una variabile non nullabile potrebbe essere impostata a null e sollevando un'eccezione.
string? nome = null; // valido string nome = null; // non valido
Poichè questo cambiamento nel comportamento del compilatore non è retrocompatibile, la funzionalità deve essere abilitata manualmente inserendo nel file di progetto la seguente voce.
<nullable>enable</nullable>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.