Exercício – Combinar cadeias de caracteres usando a interpolação de cadeias de caracteres

Concluído

Embora a concatenação de cadeia de caracteres seja simples e conveniente, a interpolação de cadeia de caracteres está crescendo em popularidade em situações em que você precisa combinar muitas cadeias de caracteres literais e variáveis em uma única mensagem formatada.

O que é interpolação de cadeia de caracteres?

A interpolação de cadeia de caracteres combina vários valores em uma única cadeia de caracteres literal usando um "modelo" e uma ou mais expressões de interpolação. Uma expressão de interpolação é indicada por um símbolo de chave de abertura e fechamento { }. Você pode colocar qualquer expressão C# que retorne um valor entre chaves. A cadeia de caracteres literal se torna um modelo quando é prefixada pelo $ caractere.

Em outras palavras, em vez de escrever a seguinte linha de código:

string message = greeting + " " + firstName + "!";

Em vez disso, você pode escrever esta linha de código mais concisa:

string message = $"{greeting} {firstName}!";

Neste exemplo simples, você salva alguns pressionamentos de tecla. Você pode imaginar como a interpolação de cadeia de caracteres muito mais concisa pode estar em operações mais complexas. Além disso, muitos acham a sintaxe de interpolação de cadeia de caracteres mais limpa e fácil de ler.

No exercício a seguir, você reescreverá as mensagens anteriores usando a interpolação de cadeia de caracteres.

Usar a interpolação de cadeia de caracteres para combinar uma cadeia de caracteres literal e um valor variável

Para interpolar duas cadeias de caracteres juntas, crie uma cadeia de caracteres literal e prefixe a cadeia de caracteres com o $ símbolo. A cadeia de caracteres literal deve conter pelo menos um conjunto de chaves {}, e dentro desses caracteres você usa o nome de uma variável.

  1. Selecione todo o código que você escreveu anteriormente no Editor de Código do C# e pressione Delete ou Backspace para excluí-lo.

  2. Insira o seguinte código no Editor de Código em C#:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. Agora, execute o código. Você verá o resultado a seguir no console de saída:

    Hello Bob!
    

Usar a interpolação de cadeia de caracteres com diversas cadeias de caracteres literais e variáveis

Você pode executar várias operações de interpolação na mesma linha de código.

  1. Selecione todo o código que você escreveu anteriormente no Editor de Código do C# e pressione Delete ou Backspace para excluí-lo.

  2. Insira o seguinte código no Editor de Código em C#:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  3. Agora, execute o código. Você verá o resultado a seguir no console de saída:

    Update to Windows 11
    

Evitar variáveis intermediárias

Assim como você fez no exercício anterior, você pode eliminar a variável temporária para armazenar a mensagem.

  1. Modifique o código escrito anteriormente para o seguinte:

    int version = 11;
    string updateText = "Update to Windows";
    Console.WriteLine($"{updateText} {version}!");
    
  2. Agora, execute o código. O resultado no console de saída deve ser igual, embora você tenha simplificado o código:

    Update to Windows 11!
    

Combinar literais textuais e interpolação de cadeia de caracteres

Suponha que você precise usar um texto literal em seu template. Você pode usar o símbolo @ de prefixo literal textual e o símbolo $ de interpolação de cadeia de caracteres juntos.

  1. Exclua o código das etapas anteriores e digite o seguinte código no Editor de Código C#:

    string projectName = "First-Project";
    Console.WriteLine($@"C:\Output\{projectName}\Data");
    
  2. Agora, execute o código e você deverá ver o resultado a seguir.

    C:\Output\First-Project\Data
    

    Neste exemplo, o $ símbolo permite que você referencie a projectName variável dentro dos delimitadores, enquanto o @ símbolo permite que você use o caractere sem escape \.

Recapitulação

Aqui está o que você aprendeu sobre a interpolação de cadeia de caracteres até agora:

  • A interpolação de cadeia de caracteres fornece uma melhoria em relação à concatenação de cadeia de caracteres, reduzindo o número de caracteres necessários em algumas situações.
  • Você pode combinar a interpolação de cadeias de caracteres e literais textuais combinando os símbolos para cada um e usando-o como um prefixo para o modelo de cadeia de caracteres.