C# StringBuilder Sınıfı
Bu yazımda C# ta StringBuilder sınıfından bahsedeceğim.StringBuilder dediğimiz sınıf,string verilerin + operatörüyle birleşme işleminin aynısını yapmaktadır.Ancak + operatörüyle stringler birleştirilirken bellekte birsürü geçiçi string ifadeler oluşturulur.Bu işlemlerde büyük oranda performans kaybına sebep olmaktadır.Sonucta bu ifadelerin yan yana birleşmiş hali elde edilmeye çalışılmaktadır.Ve bu işlemi StringBuilder sınıfını kullanarak yaparsak büyük oranda performans kaybını önlemiş oluruz.
Metodları
Append() :Bu metod sayesinde,parametresine gönderilen veriler string biçimde birleştirilecektir.int,bool,string,byte,decimal,dauble,float vs… tipten verileri alıp stringe çevirip birleştirme işlemi yapar.
StringBuilder sb = new StringBuilder(); sb.Append(3); sb.Append(4); MessageBox.Show(sb.ToString());
Yukarıda gördüğünüz gibi Append() metodunun int tipinden değer alan overloadını kullanarak 3 ve 4 sayılarını string olarak birleştirdik.Sonuç olarak mesaj kutusunda 34 yazacaktır.
Bir başka örnek,
StringBuilder sb = new StringBuilder(); sb.Append("Gençay"); sb.Append(Environment.NewLine); //Alt satıra geçer. \n aynı işi görmektedir. sb.Append("Yıldız"); MessageBox.Show(sb.ToString());
Yukardaki kod bloğunun çıktısı,
Gençay
Yıldız olacaktır.
Peki Append() metodunda string leri birleştirirken bir alt satıra geçmek için özel karakter ya da Environment.Newline’mı yazmamız gerekiyor?Hayır.AppendLine() metodu sayesinde eklenen veriden sonra bir alt satıra geçiş yapabiliyoruz.
AppendLine() :Bu metod sayesinde, parametresine gelen değeri ekledikten sonra bir alt satıra otomatik geçiş yapar.
StringBuilder sb = new StringBuilder(); sb.AppendLine("Gençay"); //Gençay'ı ekledikten sonra otomatikman bir alt satıra geçiş yapar ve Yıldız'ı ekler. sb.Append("Yıldız"); MessageBox.Show(sb.ToString());
Yukardaki kod bloğunun çıktısı,
Gençay
Yıldız olacaktır.
StringBuilder sınıfının kullanışlı iki metodu işlemlerimizde yeterli olacaktır.Bir sonraki yazımda görüşmek üzere.
İyi çalışmalar.