Sin dalla prima versione di C# abbiamo avuto a disposizione il metodo Format della classe String per inserire dei valori all'interno di una stringa a runtime. Prendiamo come esempio il seguente codice.
var hello = String.Format("Ciao {0}. Come va?", name);
Questo codice è molto semplice e intuitivo: a runtime il segnaposto "{0}" verrà sostituito dal valore della variabile name. Tuttavia questo metodo presenta alcuni inconvenienti. Il primo è che se, per errore, passiamo meno parametri di quanti sono i segnaposti, otteniamo un errore solo a runtime e non in fase di compilazione. Il secondo è che se abbiamo molti segnaposti, la lettura e manutenibilità del codice ne risente.
Tutti questi problemi sono superati da C# 6 grazie all'interpolazione di stringhe che vediamo in azione nel seguente metodo:
var hello = $"Ciao {name}. Come va?";
Aggiungendo il carattere $ all'inizio della stringa viene abilitata l'interpolazione. Inserendo una variabile tra parentesi graffe all'interno della stringa indichiamo al runtime di sostituire il nome della variabile con il valore della variabile stessa. In questo modo il codice diventa ancora più leggibile in quanto il segnaposto non dichiara solo il posto in cui verrà inserito un valore, ma anche da dove il valore proviene.
Inoltre, Visual Studio 2015 offre pieno supporto a questa feature quindi all'interno del segnaposto abiamo autocomplete e refactoring oltre al compile time checking sul nome della variabile. Queste caratteristiche rendono l'interpolazione una delle novità più utili di C#.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Proteggere le risorse Azure con private link e private endpoints
Utilizzare una qualunque lista per i parametri di tipo params in C#
Creare una custom property in GitHub
Gestione degli eventi nei Web component HTML
Utilizzare il trigger SQL con le Azure Function
Collegare applicazioni server e client con .NET Aspire
Aggiornare a .NET 9 su Azure App Service
.NET Conference Italia 2024
Gestione dei nomi con le regole @layer in CSS