Esercizio - Combinare stringhe usando l'interpolazione di stringhe
Anche se la concatenazione di stringhe è semplice e conveniente, l'interpolazione di stringhe cresce in popolarità nelle situazioni in cui è necessario combinare molte stringhe letterali e variabili in un singolo messaggio formattato.
Che cos'è l'interpolazione di stringhe?
L'interpolazione di stringhe combina più valori in una singola stringa letterale usando un "modello" e una o più espressioni di interpolazione.
Un'espressione di interpolazione è indicata da un simbolo { }di parentesi graffa di apertura e chiusura. È possibile inserire qualsiasi espressione C# che restituisca un valore all'interno delle parentesi graffe. La stringa letterale diventa un modello quando è preceduto dal $ carattere .
In altre parole, invece di scrivere la riga di codice seguente:
string message = greeting + " " + firstName + "!";
È possibile scrivere invece questa riga di codice più concisa:
string message = $"{greeting} {firstName}!";
In questo semplice esempio vengono salvate alcune sequenze di tasti. È possibile immaginare quanto l'interpolazione di stringhe più concisa può essere in operazioni più complesse. Inoltre, molti trovano la sintassi di interpolazione di stringhe più pulita e più facile da leggere.
Nell'esercizio seguente si riscriveranno i messaggi precedenti usando l'interpolazione di stringhe.
Usare l'interpolazione di stringhe per combinare una stringa letterale e un valore di variabile
Per interpolare due stringhe insieme, creare una stringa letterale e anteporre il prefisso alla stringa con il $ simbolo . La stringa letterale deve contenere almeno un set di parentesi graffe {} e all'interno di tali caratteri si usa il nome di una variabile.
Selezionare tutto il codice scritto in precedenza nell'editor di codice C# e premere Elimina o Backspace per eliminarlo.
Immettere il codice seguente nell'editor di codice C#:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);A questo punto, eseguire il codice. Nella console di output verrà visualizzato il risultato seguente:
Hello Bob!
Usare l'interpolazione di stringhe con più variabili e stringhe letterali
È possibile eseguire diverse operazioni di interpolazione nella stessa riga di codice.
Selezionare tutto il codice scritto in precedenza nell'editor di codice C# e premere Elimina o Backspace per eliminarlo.
Immettere il codice seguente nell'editor di codice C#:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);A questo punto, eseguire il codice. Nella console di output verrà visualizzato il risultato seguente:
Update to Windows 11
Evitare variabili intermedie
Come nell'esercizio precedente, è possibile eliminare la variabile temporanea per archiviare il messaggio.
Modificare il codice scritto in precedenza nel modo seguente:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");A questo punto, eseguire il codice. Il risultato nella console di output deve essere lo stesso anche se è stato semplificato il codice:
Update to Windows 11!
Combinare valori letterali verbatim e interpolazione di stringhe
Si supponga di dover usare un valore letterale verbatim nel modello. È possibile usare sia il simbolo @ di prefisso letterale verbatim che il simbolo di interpolazione $ di stringhe insieme.
Eliminare il codice dai passaggi precedenti e digitare il codice seguente nell'editor di codice C#:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");Eseguire ora il codice e verrà visualizzato il risultato seguente.
C:\Output\First-Project\DataIn questo esempio, il
$simbolo consente di fare riferimento allaprojectNamevariabile all'interno delle parentesi graffe, mentre il@simbolo consente di usare il carattere senza caratteri di escape\.
Riepilogo
Ecco quanto appreso finora sull'interpolazione di stringhe:
- L'interpolazione di stringhe offre un miglioramento rispetto alla concatenazione di stringhe riducendo il numero di caratteri necessari in alcune situazioni.
- È possibile combinare l'interpolazione di stringhe e i valori letterali verbatim combinando i simboli per ognuno e usando tale valore come prefisso per il modello di stringa.