string ? - StringBuilder ?

13 Mayıs 2009 – 12:57

Merhaba Arkadaşlar uzun zamandır vakit bulup yazamadım. Gerçi buda pek uzun olmayacak ama gene işinize yarıyacağını düşündüğüm ufak bir bilgi paylaşmak istedim sizinle.

Performans takıntısı olanlara sesleniyorum, eğer yazcağınız kod içerisinde çok fazla string birleştirme kullanacak iseniz performansınız için size strinbuilder kullanmanızı tavsiye ediyorum. Neden mi ? 

örneğin;

string metin =”";

metin = “performans”;

metin += “için”;

metin += “string”;

metin+=”birleştirmede”;

metin += ” stringbuilder”;

metin += “daha”;

metin += “iyidir”;

bu değişkenin son hali oluşturulana kadar her seferinde sistem eskisini ucurup yenisi oluşturmaya çalışıyor ve sonuç 3-5 birleştirmede değil fakat daha uzun birletirmelerde performans kaybına yol açıyor.

StringBuilder kullanıldığında ise bellekte belli bir boyutta alan açıp sonra içeriğini doldurmamızı sağlıyor. Her seferinde bir öncekini ucurup yenisini oluşturmaya uğraşmıyor en sonunda ise oluşturduğumuz stringbuilder nesnesini  toString() medotu ile son haline ulaşabiliyoruz. 

 

Umarım faydası dokunur. Herkese bol kodlu günler :)

Bookmark and Share

Post a Comment

Subscribe without commenting