stringbuilder vrs concatenar strings C#


Usar concatenación de strings en lugar de stringbuilder es una mala práctica:

Concatenar strings trabaja de la siguiente forma, cada que adiciona algo al string,  una nueva dirección de memoria se asigna. El string anterior se copia en un nuevo lugar con la parte añadida. Esto es ineficiente. En cambio StringBuilder mantiene la misma posición de memoria sin realizar una operación de copia, esto es muy eficiente especialmente cuando se requieren hacer cientos de operaciones de adición de strings.

Error:

List valores = new List(){"Mi nombre ","es ","John ","Belalcazar!"};
string salida = string.Empty;
foreach (var valor in valores)
{
   salida += valor;
}

Correcto:
List valores = new List(){"Mi nombre ","es ","John ","Belalcazar!"};
StringBuilder SalidaBuilder = new StringBuilder();
foreach (var valor in valores)
{
SalidaBuilder.Append(valor);
}

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s