Exercício - Combine cadeias de caracteres usando interpolação de strings
Embora a concatenação de cadeias de caracteres seja simples e conveniente, a interpolação de cadeias 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 é a interpolação de cadeias de carateres?
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 dentro das chaves. A cadeia de caracteres literal torna-se 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 algumas teclas digitadas. Você pode imaginar o quanto a interpolação de cadeias de caracteres pode ser muito mais concisa em operações mais complexas. Além disso, muitos acham a sintaxe de interpolação de cadeia de caracteres 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 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.
Selecione todo o código que você escreveu anteriormente no Editor de Códigos C# e pressione Delete ou Backspace para excluí-lo.
Insira o seguinte código no Editor de códigos C#:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);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
Você pode executar várias operações de interpolação na mesma linha de código.
Selecione todo o código que você escreveu anteriormente no Editor de Códigos C# e pressione Delete ou Backspace para excluí-lo.
Insira o seguinte código no Editor de códigos C#:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);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.
Modifique o código que você escreveu anteriormente para o seguinte:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");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 você precise usar um literal literal literal em seu modelo. Você pode usar o símbolo @ de prefixo literal literal e o símbolo de interpolação $ de cadeia de caracteres juntos.
Exclua o código das etapas anteriores e digite o seguinte código no Editor de Códigos C#:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");Agora, execute o código e você verá o seguinte resultado.
C:\Output\First-Project\DataNeste exemplo, o
$símbolo permite que você faça referênciaprojectNameà 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 caracteres fornece uma melhoria em relação à concatenação de cadeias de caracteres, reduzindo o número de caracteres necessários em algumas situações.
- Você pode combinar interpolação de cadeia de caracteres e literais literais combinando os símbolos para cada um e usando isso como um prefixo para o modelo de cadeia de caracteres.