0Pricing
C# Academy · Aula

Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação

Entenda a imutabilidade de strings, use interpolação, strings com escape e verbatim, crie texto com eficiência usando StringBuilder, faça comparações seguras e revise os conceitos básicos de char/Unicode.

Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.

Visão geral do texto

Objetivo: Use cadeias de caracteres com segurança e eficiência.

  • Imutabilidade
  • Interpolação e sequências de escape
  • Cadeias de caracteres literais
  • StringBuilder
  • Observações sobre comparação e cultura

Imutabilidade

Imutável: métodos como ToUpper ou Replace retornam novas cadeias de caracteres; as originais permanecem iguais.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string s = "hello";
    string upper = s.ToUpper();           // new string
    Console.WriteLine("s = " + s);        // hello
    Console.WriteLine("upper = " + upper);// HELLO

    string replaced = s.Replace("h", "y"); // new string
    Console.WriteLine("replaced = " + replaced);
  }
}

Interpolação e sequências de escape

Interpolação usa $"...". Sequências de escape comuns: \\n nova linha, \\" aspas, \\\\ barra invertida.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string name = "Ada";
    int score = 95;

    // C# 6 string interpolation and escapes
    string msg = $"Hi {name}, score = {score}";
    string quoted = "She said \"hi\"";
    string line = "first line\nsecond line";

    Console.WriteLine(msg);
    Console.WriteLine(quoted);
    Console.WriteLine(line);
  }
}

Cadeias de caracteres literais

Cadeias literais começam com @: são ideais para caminhos do Windows e textos com várias linhas.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Verbatim string keeps backslashes and newlines as typed
    string path = @"C:\Projects\Demo\readme.txt";
    string multi = @"Line1
Line2";
    Console.WriteLine(path);
    Console.WriteLine(multi);
  }
}

StringBuilder

Para muitas concatenações, use StringBuilder para reduzir alocações e melhorar o desempenho.

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    var sb = new StringBuilder();
    for (int i = 1; i <= 3; i = i + 1)
    {
      sb.Append("Item ").Append(i).Append(", ");
    }
    string result = sb.ToString();
    Console.WriteLine(result);
  }
}

Comparação e cultura; caractere

Use StringComparison para controlar as comparações (por exemplo, OrdinalIgnoreCase). char é uma unidade de código UTF-16; alguns emojis precisam de pares substitutos (além do escopo desta introdução).

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    string a = "file";
    string b = "FILE";

    // Case-insensitive, culture-invariant comparison
    bool same = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
    Console.WriteLine("Same (ord ignore case) = " + same);

    // Culture example: ToUpper with current culture
    string iDot = "i";
    string upper = iDot.ToUpper(CultureInfo.CurrentCulture);
    Console.WriteLine("Upper(i) in current culture = " + upper);

  }
}

Significado da imutabilidade

Verificação rápida: O que significa dizer que as cadeias de caracteres são imutáveis em C#?

Recapitulação

Recapitulação: As cadeias de caracteres são imutáveis; use interpolação e sequências de escape; prefira @ para caminhos; para muitos acréscimos, use StringBuilder; compare com StringComparison; lembre-se de que char é uma unidade UTF-16.

Perguntas Frequentes

A aula “Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação” é grátis?

Sim — o texto completo de “Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.

O que vou aprender em “Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação”?

Entenda a imutabilidade de strings, use interpolação, strings com escape e verbatim, crie texto com eficiência usando StringBuilder, faça comparações seguras e revise os conceitos básicos de char/Uni… Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação
  2. StringBuilder, comparação e observações sobre cultura
  3. char, noções básicas de Unicode e análise/formatação simples
← Voltar para C# Academy