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
Manipolare array in JavaScript
Utilizzare proprietà di tipo DateOnly con EF Core 6
Integrare e trasformare dati con Azure Data Factory
Creare una timeline da una pipeline di Azure DevOps
Gestire query string lunghe in ASP.NET Core
Utilizzare azurite come simulatore di Azure Storage
Ottimizzare il codice JavaScript con i Shorthand Patterns - prima parte
Graceful shutdown di un hosted service di ASP.NET Core
Eseguire chiamate hedging gRPC con ASP.NET Core 6
Nullish coalescing e decostruzione in JavaScript
Avviare e arrestare programmaticamente un Hosted Service di ASP.NET Core
Esecuzione a matrici nei workflow di GitHub Action
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- 'ASP.NET 2.0 per tutti': il nuovo libro a cura di ASPItalia.com
- Realizzare un UriMapper in Windows Phone
- Creare semplici menu a tendina con MenuFlyout di Windows 8.1
- Impostare titolo, icone e splash screen di un'applicazione Silverlight per Windows Phone