Construindo strings
Concatenação e StringBuilder.
Construindo strings é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 4 de 4. 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 4 aulas no total.
Unindo cadeias de caracteres com +
A forma mais simples de criar uma cadeia de caracteres é unir partes com o operador +.
Isso é chamado de concatenação. Funciona bem para algumas partes, como combinar uma saudação com um nome.
class Program
{
static void Main()
{
string name = "Sam";
string greeting = "Hi, " + name;
System.Console.WriteLine(greeting);
}
}Interpolação de cadeias de caracteres
A interpolação é uma forma mais limpa de inserir valores no texto.
Coloque um $ antes da cadeia de caracteres e envolva as variáveis em chaves. Os valores são inseridos automaticamente no lugar apropriado.
class Program
{
static void Main()
{
string name = "Sam";
int age = 9;
System.Console.WriteLine($"{name} is {age}");
}
}O custo de += em laços
Usar += para aumentar uma cadeia de caracteres dentro de um laço é lento.
Como as cadeias de caracteres são imutáveis, cada += cria uma cadeia completamente nova e copia todos os caracteres antigos. Em muitas iterações, isso desperdiça tempo e memória.
string result = "";
for (int i = 0; i < 1000; i++)
result += i; // creates many stringsConheça o StringBuilder
O StringBuilder foi criado para montar texto com eficiência.
Ele fica no espaço de nomes System.Text. Em vez de criar uma nova cadeia de caracteres a cada vez, ele amplia uma área interna de armazenamento, o que é muito mais rápido para muitas adições.
using System.Text;
StringBuilder sb = new StringBuilder();Adicionando com StringBuilder
Chame Append para adicionar texto a um StringBuilder.
Você pode adicionar muitas partes, uma após a outra. O objeto mantém tudo na sua área de armazenamento até que você solicite a cadeia de caracteres final.
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
sb.Append("Hello");
sb.Append(", world");
System.Console.WriteLine(sb.ToString());
}
}Obtendo a cadeia de caracteres final
Um StringBuilder não é, por si só, uma string.
Quando terminar de adicionar conteúdo, chame ToString para obter o texto concluído. Depois disso, você pode exibi-lo ou armazená-lo como qualquer cadeia de caracteres normal.
using System.Text;
StringBuilder sb = new StringBuilder();
sb.Append("Done");
string final = sb.ToString();Adicionando em um laço
É aqui que o StringBuilder se destaca.
Adicione conteúdo dentro de um laço e o objeto crescerá com eficiência, evitando as cópias que += criaria. Este programa cria uma cadeia de caracteres formada por números.
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
sb.Append(i);
System.Console.WriteLine(sb.ToString());
}
}AppendLine
AppendLine funciona como Append, mas também adiciona uma quebra de linha depois do texto.
Ele é útil para criar uma saída com várias linhas, como uma lista em que cada item ocupa a sua própria linha.
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Line 1");
sb.AppendLine("Line 2");
System.Console.Write(sb.ToString());
}
}Criando a partir de caracteres
Você também pode adicionar valores individuais de char, não apenas cadeias de caracteres completas.
Isso é útil ao transformar texto caractere por caractere, como converter cada letra para maiúscula enquanto cria um novo resultado.
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
foreach (char c in "loud")
sb.Append(char.ToUpper(c));
System.Console.WriteLine(sb.ToString());
}
}Quando usar cada abordagem
Para algumas partes, usar + ou interpolação é claro e adequado.
Ao montar texto em um laço ou unir muitas partes, prefira o StringBuilder. A regra prática é: para poucas uniões, use operadores; para muitas uniões, use um objeto de construção.
string.Join
Quando você já tem uma coleção de partes, string.Join combina-as usando um separador.
Você passa primeiro o separador e depois os itens. É uma alternativa concisa a usar um laço para listas simples.
string[] parts = { "a", "b", "c" };
string joined = string.Join("-", parts);
// joined is "a-b-c"Verificação rápida
Teste a sua compreensão sobre a criação de cadeias de caracteres.
Recapitulação
Use + ou interpolação para unir algumas cadeias de caracteres, e string.Join para uma lista de partes.
Para montar texto em laços, use o StringBuilder: chame Append ou AppendLine e, depois, ToString para obter o resultado. Ele evita as cópias dispendiosas que += faz, pois as cadeias de caracteres são imutáveis.
Perguntas Frequentes
A aula “Construindo strings” é grátis?
Sim — o texto completo de “Construindo strings” é 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 4 aulas no total.
O que vou aprender em “Construindo strings”?
Concatenação e StringBuilder. 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 4 de 4.
Quanto tempo leva a aula “Construindo strings”?
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
- O tipo char
- Métodos auxiliares de char
- Iterando sobre strings
- Construindo strings