typestar

StringBuilder en C#

Las cadenas son inmutables: concatenar repetido copia; un builder no.

using System.Text;

// las cadenas son inmutables; con un builder anexar mucho sale barato
var sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
    sb.Append("step ").Append(i).AppendLine();
}
sb.Insert(0, "the plan:\n");
Console.WriteLine(sb.ToString());
Console.WriteLine($"length {sb.Length}");

Cómo funciona

  1. Append y AppendLine hacen crecer el búfer en el lugar.
  2. Insert(0, ...) escribe en cualquier posición, incluso al frente.
  3. ToString() paga el costo de la cadena una sola vez, al final.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
301
Tokens
71
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 45 segundos.

Escribe este fragmento

Paso 4 de 4 en Cadenas; paso 7 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →

StringBuilder en otros lenguajes