Exercício - Combine cadeias de caracteres usando interpolação de cordas

Concluído

Embora a concatenação de cadeias de carateres seja simples e conveniente, a interpolação de cadeias de carateres está a ganhar popularidade em situações em que precisa de combinar muitas cadeias de carateres literais e variáveis numa única mensagem formatada.

O que é a interpolação de cadeias de carateres?

A interpolação de cadeias de carateres combina vários valores numa única cadeia de carateres literal através da utilização de 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 dentro das chaves. A cadeia de carateres literal torna-se num modelo quando tem o caráter $ como prefixo.

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

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

Pode escrever esta linha de código mais concisa:

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

Neste exemplo simples, não precisa de premir tantas teclas. Pode imaginar como a interpolação de cadeias de carateres pode ser muito mais concisa em operações mais complexas. Além disso, muitos utilizadores consideram a sintaxe de interpolação de cadeias de carateres mais limpa e mais fácil de ler.

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

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

Para interpolar duas cadeias em conjunto, crie uma cadeia de carateres literal e adicione o símbolo $ como prefixo da cadeia. 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 no Editor .NET e pressione Delete ou Backspace para excluí-lo.

  2. Insira o seguinte código no Editor .NET:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. Agora, execute o código. Verá o seguinte resultado na consola de saída:

    Hello Bob!
    

Usar interpolação de cadeia de caracteres com várias variáveis e cadeias de caracteres literais

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

  1. Modifique o código que você escreveu anteriormente para o seguinte:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  2. Agora, execute o código. Verá o seguinte resultado na consola de saída:

    Update to Windows 11
    

Evite variáveis intermediárias

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

  1. Modifique o código que você escreveu 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 o mesmo, mesmo se você simplificou o código:

    Update to Windows 11!
    

Combinar literais literais e interpolação de cadeias de caracteres

Suponha que precisa de utilizar um literal textual no modelo. Pode utilizar o símbolo de prefixo literal textual @ e o símbolo de interpolação de cadeias de carateres $ em conjunto.

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

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

    C:\Output\First-Project\Data
    

    Neste exemplo, o símbolo permite que você faça referência projectName à variável dentro das chaves, enquanto o símbolo permite que você use o $ @ caractere sem escape\.

Recapitulação

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

  • A interpolação de cadeias de carateres permite obter uma melhoria em relação à concatenação de cadeias de carateres ao reduzir o número de carateres necessários em certas situações.
  • Pode combinar a interpolação de cadeias de carateres e literais textuais. Para tal, deve combinar os dois símbolos mencionados acima e utilizá-los como um prefixo para o modelo de cadeia de carateres.