Learn C# Help

Interpolação de Strings

Imagine que você está escrevendo uma carta e quer incluir informações específicas, como a data, o nome do destinatário e o valor de um produto. Em vez de escrever tudo manualmente cada vez, você usa "espaços em branco" ou "marcadores" na carta e depois preenche esses espaços com as informações corretas.

No mundo da programação, a interpolação de strings é exatamente isso: a capacidade de combinar texto fixo (a "carta") com valores de variáveis (as "informações específicas") para criar uma única frase ou mensagem. Em C#, existem algumas maneiras de fazer isso, cada uma com suas vantagens.

1. Concatenação de Strings (+)

A forma mais básica de juntar strings é usando o operador de adição (+). É como colar pedaços de papel com fita adesiva.

// Declara uma variável 'price' do tipo double (número com casas decimais). var price = 12.2; // Concatena a string "O preço é " com o valor da variável 'price'. // O C# automaticamente converte o número 'price' para texto (string) para que possa ser combinado. var texto = "O preço é " + price; // 'Console.WriteLine()' é um comando para exibir texto na tela (no console). Console.WriteLine(texto); // Saída: O preço é 12.2

Explicação:

  • string (cadeia de caracteres): Uma sequência de caracteres (letras, números, símbolos) usada para representar texto.

  • var (palavra-chave): Permite que o compilador C# descubra o tipo da variável automaticamente com base no valor que você atribui a ela.

  • + (operador de concatenação): Quando usado com strings, ele as une, criando uma nova string. Se um dos lados não for uma string, o C# tenta convertê-lo para string antes de unir.

Vantagens: Simples e fácil de entender para operações básicas. Desvantagens: Pode se tornar difícil de ler e manter quando há muitas variáveis ou quando a string resultante é muito longa. Em cenários de alta performance com muitas concatenações em loop, pode ser menos eficiente.

2. Formatação de Strings (string.Format)

O método string.Format oferece uma maneira mais estruturada de construir strings. Ele usa "marcadores de posição" numerados ({0}, {1}, etc.) que são preenchidos pelos valores das variáveis que você fornece.

var price = 10.2; var productName = "Notebook"; // Usa string.Format para criar uma string formatada. // {0} será substituído pelo primeiro argumento após a string de formato (price). // {1} será substituído pelo segundo argumento (productName). var textoFormatado = string.Format("O preço do {1} é {0:C} apenas na promoção!", price, productName); Console.WriteLine(textoFormatado); // Saída (exemplo, pode variar com a cultura): O preço do Notebook é R$ 10,20 apenas na promoção!

Explicação:

  • string.Format() (método): Uma função que permite criar strings complexas usando um padrão e substituindo marcadores de posição por valores.

  • {0}, {1} (marcadores de posição): Indicam onde os valores das variáveis serão inseridos. O número dentro das chaves corresponde à posição do argumento na lista após a string de formato (começando do 0).

  • {0:C} (especificador de formato): O :C é um "especificador de formato" que indica que o número deve ser formatado como uma moeda, usando o símbolo da moeda e o número de casas decimais apropriados para a cultura atual do sistema (por exemplo, R$ 10,20 no Brasil).

Vantagens: Melhor legibilidade que a concatenação para strings complexas, permite formatação de valores (como moeda, datas). Desvantagens: Ainda pode ser um pouco verboso e os marcadores numerados podem dificultar a leitura se houver muitos.

3. Interpolação de Strings ($"") - A Forma Moderna

Introduzida no C# 6, a interpolação de strings é a maneira mais legível e concisa de combinar strings e variáveis. Você prefixa a string com um cifrão ($) e pode inserir variáveis diretamente dentro das chaves {}.

var price = 1500.00; var productName = "Smartphone"; var discount = 0.10; // 10% de desconto // Calcula o preço com desconto var finalPrice = price * (1 - discount); // Usa a interpolação de strings ($"") para criar uma mensagem clara. // As variáveis são inseridas diretamente dentro das chaves {}. // Também podemos usar especificadores de formato, como {finalPrice:C} para moeda. var mensagem = $"O {productName} custa {price:C}. Com {discount:P0} de desconto, o preço final é {finalPrice:C}."; Console.WriteLine(mensagem); // Saída (exemplo): O Smartphone custa R$ 1.500,00. Com 10% de desconto, o preço final é R$ 1.350,00.

Explicação:

  • $"" (string interpolada): O $ antes das aspas duplas indica que a string é uma string interpolada.

  • {variável} (expressão): Dentro de uma string interpolada, você pode colocar o nome de uma variável ou até mesmo uma expressão (como price * (1 - discount)) diretamente dentro das chaves {}. O C# automaticamente converte o valor para texto.

  • {discount:P0} (especificador de formato): O :P0 formata o número como uma porcentagem (P) sem casas decimais (0).

Vantagens: Excelente legibilidade, concisa, fácil de usar, e permite a mesma flexibilidade de formatação que string.Format. É a abordagem recomendada para a maioria dos casos em C# moderno.

Em resumo, a interpolação de strings ($"") é a ferramenta mais poderosa e amigável para combinar texto e dados em C#. Ela torna seu código mais limpo e fácil de entender, especialmente quando você está construindo mensagens complexas.

26 July 2025