0Pricing
C# Academy · Aula

StringBuilder, comparação e observações sobre cultura

Crie textos grandes com eficiência usando StringBuilder e compare strings com segurança usando StringComparison e APIs sensíveis à cultura.

StringBuilder, comparação e observações sobre cultura é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 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

Objetivo: Crie cadeias de caracteres grandes com eficiência e compare textos corretamente.

  • StringBuilder para muitos acréscimos
  • Comparação ordinal e baseada em cultura
  • Verificações que ignoram maiúsculas e minúsculas

Noções básicas de StringBuilder

Use StringBuilder ao concatenar dentro de laços para reduzir alocações.

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    // Build a small CSV with many appends
    StringBuilder sb = new StringBuilder();
    sb.Append("id,name").AppendLine();
    for (int i = 1; i <= 3; i = i + 1)
    {
      sb.Append(i).Append(",Item ").Append(i).AppendLine();
    }
    string csv = sb.ToString();
    Console.WriteLine(csv);
  }
}

StringBuilder ou +

Orientação:

  • Use "a" + b + c para algumas partes.
  • Use StringBuilder em laços ou para muitos acréscimos.
  • Reutilize a mesma instância do construtor dentro do laço.

Verificação sem distinção entre maiúsculas e minúsculas

Para identificadores (por exemplo, nomes de arquivos e chaves), prefira OrdinalIgnoreCase para evitar surpresas relacionadas à cultura.

using System;

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

    bool ordEq = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
    bool ord   = string.Equals(a, b, StringComparison.Ordinal);

    Console.WriteLine("OrdinalIgnoreCase: " + ordEq); // true
    Console.WriteLine("Ordinal (case-sensitive): " + ord); // false
  }
}

Exemplo de cultura

Cultura afeta os resultados (por exemplo, o I turco). Seja explícito: use InvariantCulture para dados e identificadores; use a cultura do usuário na interface.

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    string lowerI = "i";

    // Culture-sensitive uppercasing
    string trUpper = lowerI.ToUpper(new CultureInfo("tr-TR"));
    string invUpper = lowerI.ToUpper(CultureInfo.InvariantCulture);

    Console.WriteLine("tr-TR upper(i) = " + trUpper);   // "İ"
    Console.WriteLine("Invariant upper(i) = " + invUpper); // "I"
  }
}

Dicas e escolhas

Dicas:

  • Armazene StringBuilder em cache dentro do laço; chame .ToString() uma vez no final.
  • Escolha OrdinalIgnoreCase para chaves, IDs e nomes de arquivos.
  • Escolha CurrentCulture para textos exibidos ao usuário.

Padrão de comparação

Verificação rápida: Para verificar um nome de arquivo sem distinguir maiúsculas de minúsculas, qual comparação costuma ser o padrão mais seguro?

Recapitulação

Recapitulação: Use StringBuilder para muitos acréscimos; escolha OrdinalIgnoreCase para identificadores; use APIs sensíveis à cultura para textos da interface.

Perguntas Frequentes

A aula “StringBuilder, comparação e observações sobre cultura” é grátis?

Sim — o texto completo de “StringBuilder, comparação e observações sobre cultura” é 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 “StringBuilder, comparação e observações sobre cultura”?

Crie textos grandes com eficiência usando StringBuilder e compare strings com segurança usando StringComparison e APIs sensíveis à cultura. 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 2 de 3.

Quanto tempo leva a aula “StringBuilder, comparação e observações sobre cultura”?

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