Esercizio - Combinare stringhe usando l'interpolazione di stringhe

Completato

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.

  1. Selezionare tutto il codice scritto in precedenza nell'editor di codice C# e premere Elimina o Backspace per eliminarlo.

  2. Immettere il codice seguente nell'editor di codice C#:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. 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.

  1. Selezionare tutto il codice scritto in precedenza nell'editor di codice C# e premere Elimina o Backspace per eliminarlo.

  2. Immettere il codice seguente nell'editor di codice C#:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  3. 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.

  1. Modificare il codice scritto in precedenza nel modo seguente:

    int version = 11;
    string updateText = "Update to Windows";
    Console.WriteLine($"{updateText} {version}!");
    
  2. 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.

  1. 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");
    
  2. Eseguire ora il codice e verrà visualizzato il risultato seguente.

    C:\Output\First-Project\Data
    

    In questo esempio, il $ simbolo consente di fare riferimento alla projectName variabile 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.