JuanCri.com

lunes 19 de marzo, 2007 a las 03:12
Concatenar es fácil, formatear es divertido, pero construir es óptimo.

Supongamos que debemos concatenar texto1, texto2 y texto3 (todos strings).

Si queremos hacerlo de manera fácil, basta con:

return texto1 + texto2 + texto3;


Si queremos hacerlo en forma elegante:

return String.Format ("{0}{1}{2}", texto1, texto2, texto3);


Si queremos hacerlo de forma óptima:

System.Text.StringBuilder sb = new System.Text.StringBuilder ();
sb.Append (texto1);
sb.Append (texto2);
sb.Append (texto3);


Pero aquí están los números:
Concatenar [00:00:00.0085810] (60x!!!!)
Formatear [00:00:00.0028400] (19x!!)
Construir [00:00:00.0001430] (1x)

¿Por qué concatenar es más lento que las otras opciones si, en el fondo, hacen lo mismo? La respuesta es: porque necesitaremos concatenar dos veces. Esto implica construir dos strings nuevos (texto1 + texto2) y luego el string final que incluye a texto3.

Los string sos costosos, aunque nos cueste creerlo.

Para mí, String.Format es la mezcla perfecta... es simple, fácil de leer y más óptimo que concatenar.

Creative Commons License
Blog JuanCri.com por Juan Cristóbal Olivares licenciado bajo la Creative Commons Attribution 2.0 Chile License.
Mono PostgreSQL Firefox Gratis

© JuanCri.com