Usare StringBuilder in C#
Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /var/www/web2/html/mondoinformatico.info/nuovo/wp-content/plugins/paginated-comments/paginated-comments.php(475) : eval()'d code on line 50
Quando in C# si ha bisogno di concatenare stringhe, la miglior cosa è l’utilizzo della classe StringBuilder.
Le stringhe in C#, infatti, non possono essere modificate perché sono immutabili.
Quando le si va a modificare, quindi viene creato un nuovo oggetto stringa e sostituito al precedente.
Questo processo prende un notevole spazio in termini di tempo.
Per ovviare a questo si può usare, appunto, la classe StringBuilder.
Vediamo un esempio di come si farebbe un semplice processo usanto String:
static void Main(string[] args)
{
string str = "";
for (int j = 0; j < 10000; j++)
{
str += Convert.ToString(j);
}
Console.WriteLine(str);
}
Possiamo notare come il processo prenda qualche secondo prima di emettere l’output.
Ora invece vediamo lo stesso meccanismo, ma utilizzando StringBuilder:
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
for (int j = 0; j < 10000; j++)
{
sb.Append(j);
}
Console.WriteLine(sb.ToString());
}
Come possiamo notare se mandiamo in esecuzione, la velocità del programma è notevolmente maggiore e l’output esce istantaneamente.
Ovviamente questo è solamente un esempio, se applicato a grande applicazioni StringBuilder può dare benefici davvero enormi.






Non ci sono commenti
Non ci sono commenti per questo articolo