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
Potenziare Azure AI Search con la ricerca vettoriale
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Linting di un Dockerfile con un workflow di GitHub
Generare file per il download da Blazor WebAssembly
Le novità di Angular: i miglioramenti alla CLI
Configurare policy CORS in Azure Container Apps
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Come migrare da una form non tipizzata a una form tipizzata in Angular
Gestire undefined e partial nelle reactive forms di Angular
Usare un KeyedService di default in ASP.NET Core 8
Gestione degli environment per il deploy con un workflow di GitHub
I più letti di oggi
- Evitare il flickering dei componenti nel prerender di Blazor 8
- Rilasciata la Beta 2 di Visual Studio 2008
- tra pochi minuti inizia la keynote della seconda giornata. seguila live su http://aspitalia.com/mix-11 #mix11
- .@dbochicchio ora su #aspnetcore 2 a #netconfit https://aspit.co/netconf-17
- Utilizzare angular-cli per creare una direttiva in Angular 2
- Windows Vista: il ritorno di WinFS con la beta1
- .@CristianCivera tra poco su #azure con i suoi tips&tricks per lo sviluppatore web: https://aspit.co/web15-live #aspilive
- Le novità di C# 10