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
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
- Strings e texto: imutabilidade, interpolação, literais verbatim, StringBuilder e comparação
- StringBuilder, comparação e observações sobre cultura
- char, noções básicas de Unicode e análise/formatação simples