C# · Essencial · Inglês · Técnico
StringBuilder
Classe de System.Text que monta texto em um buffer mutável, evitando criar uma nova string a cada concatenação dentro de laços.
Onde usar
Aparece em code reviews quando alguém concatena strings com += em um laço grande. Como string é imutável, cada += aloca uma cópia, e o StringBuilder reduz alocações e a pressão no GC.
Em código
using System.Text;
var sb = new StringBuilder();
for (int i = 0; i < 3; i++)
sb.Append(i).Append(',');
sb.AppendLine("fim");
Console.Write(sb.ToString());Exemplos
Use a StringBuilder instead of concatenating in the loop.
Use um StringBuilder em vez de concatenar no laço.
The report is assembled in a StringBuilder.
O relatório é montado em um StringBuilder.
Cuidado
Não use para concatenações pequenas e fixas: o compilador já otimiza a + b + c, e a interpolação costuma ser mais legível.