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
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare DeepSeek R1 con Azure AI
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Simulare Azure Cosmos DB in locale con Docker
Referenziare un @layer più alto in CSS
Supportare la sessione affinity di Azure App Service con Application Gateway
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Effettuare il binding di date in Blazor
Estrarre dati randomici da una lista di oggetti in C#
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
I più letti di oggi
- Utilizzare DeepSeek R1 con Azure AI
- Ottimizzare le performance usando Span<T> e il metodo Split
- Disabilitare un bottone in una pagina HTML pensando all'accessibilità
- Real Code Conference 4: ASP.NET 4.0: dal runtime alle WebForm
- Definire le policy di caching tramite un helper su ASP.NET
- Whidbey, Yukon e Longhorn su MSDN