ExpertiDict

C# · Essencial · Inglês · Técnico

StringBuilder

/ˈstrɪŋ ˌbɪldɚ/substantivo

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.

Veja também

Todos os termos de C#