String Performance

26/02/2005 - 16:00 por Jorge Perez | Informe spam
Estimados,

Tengo manejar grandes strings(concatenar exactamente),
cual es el mejor objeto para realizar esto en cuanto a
performance y rendimiento??

Estaba pensando en String.Concat.. hay otro mejor para
hacer estas operaciones.

Saludos

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
26/02/2005 - 17:27 | Informe spam
Jorge,

Mira la clase System.Text.StringBuilder, idónea para esas tareas.

http://msdn.microsoft.com/library/d...stopic.asp

Slds,

Octavio

"Jorge Perez" escribió en el mensaje
news:0ab501c51c13$f06081a0$
Mostrar la cita
#2 Guillermo guille
27/02/2005 - 19:54 | Informe spam
Incluso para concatener pocas cadenas, es "RECOMENDABLE" (y no estoy gritando)
usar StringBuilder.
Es super fácil, y a la larga si te acostumbras... pues eso que ganas.

Compruébalo con este simple código... verás las diferencias:

StringBuilder sb = new System.Text.StringBuilder();
String s = "";
int num = 15;
int total = 0;
DateTime d1;

if(args.Length > 0){
num = int.Parse(args[0]);
if(num > 20)
Console.WriteLine("\tSeguramente la parte de String tardará lo suyo...
paciencia...");
}
else
Console.WriteLine("\tPuedes indicar el valor de veces /1000\tSe usará {0} *
1000", num);
total = num * 1000;

d1 = DateTime.Now;
Console.WriteLine("Probando con StringBuilder {0:#,###} veces", total);
for(int i = 0; i<total; i++)
sb.Append("hola\t");
Console.WriteLine("Tiempo empleado agregando {0:#,###} veces: {1:#,000.00}
milisegundos", total, DateTime.Now.Subtract(d1).Milliseconds );

d1 = DateTime.Now;
Console.WriteLine("Probando con String {0:#,###} veces", total);
for(int i = 0; i<total; i++)
s = s + "hola\t";
Console.WriteLine("Tiempo empleado concatenando {0:#,###} veces: {1:#,000.00}
milisegundos", total, DateTime.Now.Subtract(d1).Milliseconds );

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"Jorge Perez" wrote in message
news:0ab501c51c13$f06081a0$
Mostrar la cita
#3 Oscar Galvis
28/02/2005 - 05:01 | Informe spam
Utiliza StringBuilder... la clase string para concatenar instancia un
stringbuilder, concatena y luego asigna a otro string. x eso es mucho mejor
usar stringbuilder




"Jorge Perez" escribió en el mensaje
news:0ab501c51c13$f06081a0$
Mostrar la cita
#4 Jorge Perez
01/03/2005 - 00:26 | Informe spam
Super bueno el StringBluider, super rapido..

Gracias..
Mostrar la cita
(y no estoy gritando)
Mostrar la cita
eso que ganas.
Mostrar la cita
diferencias:
Mostrar la cita
tardará lo suyo...
Mostrar la cita
veces /1000\tSe usará {0} *
Mostrar la cita
veces", total);
Mostrar la cita
veces: {1:#,000.00}
Mostrar la cita
(d1).Milliseconds );
Mostrar la cita
veces", total);
Mostrar la cita
veces: {1:#,000.00}
Mostrar la cita
(d1).Milliseconds );
Mostrar la cita
in message
Mostrar la cita
#5 Guillermo guille
01/03/2005 - 16:39 | Informe spam
sí, lo que pasa es que como es una clase "no normal", muchos tardamos en darnos
cuenta de la "valía" que tiene.

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"Jorge Perez" wrote in message
news:2b2801c51dec$ec5e7d70$
Super bueno el StringBluider, super rapido..

Gracias..
Mostrar la cita
(y no estoy gritando)
Mostrar la cita
eso que ganas.
Mostrar la cita
diferencias:
Mostrar la cita
tardará lo suyo...
Mostrar la cita
veces /1000\tSe usará {0} *
Mostrar la cita
veces", total);
Mostrar la cita
veces: {1:#,000.00}
Mostrar la cita
(d1).Milliseconds );
Mostrar la cita
veces", total);
Mostrar la cita
veces: {1:#,000.00}
Mostrar la cita
(d1).Milliseconds );
Mostrar la cita
in message
Mostrar la cita
Ads by Google
Search Busqueda sugerida