Capítulo 07: Strings e Interpolação 🐺⚔️

Neste capítulo, vamos aprender a trabalhar com textos no C# e a usar o recurso incrível de Interpolação de Strings, com o tema The Witcher!


📖 O que são Strings em C#?

No C#, strings são objetos que representam sequências de caracteres. Elas possuem diversos métodos prontos para manipulação (como mudar para maiúsculo, buscar palavras, etc.).


📖 Recurso C#: Interpolação com $

Em vez de ficar somando textos com +, o C# permite colocar as variáveis direto dentro do texto usando o símbolo $ no início e as chaves {} para as variáveis!

string nome = "Geralt";
Console.WriteLine($"Nome do bruxo: {nome}");

📖 Exemplo Guiado: Nome do Bruxo

Vamos aprender a declarar strings e usar a interpolação.

  1. Crie o arquivo nome_bruxo.cs na pasta src/:
using System;
 
string nome = "Geralt";
string sobrenome = "de Rivia";
 
// Usando interpolação de strings
string nomeCompleto = $"{nome} {sobrenome}";
 
Console.WriteLine($"Bruxo original: {nome}");
Console.WriteLine($"Nome completo: {nomeCompleto}");
 
// Usando um método da string
Console.WriteLine($"Grito de guerra: {nome.ToUpper()}!");

🕹️ Como Executar e Testar no VS Code

  1. Execute o projeto usando dotnet run.

Resultado Esperado:

Bruxo original: Geralt
Nome completo: Geralt de Rivia
Grito de guerra: GERALT!

📊 Ilustração Visual: Interpolação

Veja como as variáveis são inseridas no texto:

graph LR
    A["'Geralt'"] --> C["Interpolação: $"]
    B["'de Rivia'"] --> C
    C --> D["'Geralt de Rivia'"]

🛠️ Prática Obrigatória 1: Grito de Guerra

Crie um programa chamado grito_guerra.cs que peça ao usuário para digitar uma palavra (ex: “Haa!”) e use um laço for para repetir essa palavra 3 vezes, armazenando o resultado em uma nova string, e depois exiba o grito de guerra final usando interpolação!


🔑 Gabarito de Código

Prática 1: grito_guerra.cs

using System;
 
Console.Write("Digite a palavra do grito de guerra: ");
string palavra = Console.ReadLine();
 
string grito = "";
for (int i = 0; i < 3; i++) {
    grito += palavra + " ";
}
 
Console.WriteLine($"Grito de Guerra: {grito.Trim()}!");

Capitulo Anterior | Proximo Capitulo