mar15

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

Lascia un commento

Registrati a Mondo Informatico lasciare commenti, ascrivere articoli e guadagnare da subito con il paid to write con un unico nickname e avatar. Inoltre potrai segnalare notizie, scrivere articoli e mantenere lo storico nella tua pagina personale.

Se sei già registrato effettua il Login

Ricorda i miei dati per la prossima volta
Inviami una e-mail quando ci sono altri commenti