learn use c stringbuilder class
Bu Öğretici C # StringBuilder Sınıfını ve Ekleme, Silme, Kaldırma, Ekleme, Değiştirme ve Eşitleme Gibi Yöntemlerini Örneklerle Ayrıntılı Olarak Açıklar:
C # içindeki StringBuilder sınıfı, tekrarlayan dize işlemlerinin kullanılması gerektiğinde dizeyle çalışır.
Bir dizge değişmezdir, yani değiştirilemez. Belirli bir dize oluşturulduktan sonra değiştirilemez. Dizede yapılan herhangi bir değişiklik veya güncelleme, bellekte yeni bir dizgi nesnesi oluşturacaktır. Görüldüğü gibi, bu davranış, yinelenen işlem aynı dizede gerçekleştirilirse performansı engelleyecektir.
=> Derinlemesine C # Eğitim Öğreticilerine Buradan Göz Atın
C # içindeki StringBuilder sınıfı bu sorunu çözmeyi amaçlar. Belleğin dinamik olarak tahsis edilmesine izin verir, yani dizedeki karakter sayısını artırabilir. Yeni bir bellek nesnesi oluşturmaz, bunun yerine bellek boyutunu yeni karakterleri içerecek şekilde dinamik olarak artırır.
Ne öğreneceksin:
C # StringBuilder Nasıl Başlatılır?
StringBuilder diğer herhangi bir sınıfa benzer şekilde başlatılır. StringBuilder sınıfı, System ad alanında mevcuttur. Metnin örnekleme için sınıfa aktarılması gerekir.
Başlatma Örneği:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Yukarıdaki programın çıktısı:
Merhaba
C # StringBuilder Yöntemleri
StringBuilder sınıfı ayrıca dize işleme üzerinde çalışmak için birkaç farklı yöntem sunar.
# 1) Yöntem Ekle
Adın önerdiği gibi, geçerli Dize Oluşturucu'nun sonuna bir dizi karakter veya dize ekler. Aynı dizge üzerinde birkaç dizi birleştirme yapılması gerektiğinde performansı iyileştirmede çok yararlıdır.
Misal:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Yukarıdaki programın çıktısı şöyle olacaktır:
Merhaba
Selam Dünya
Yukarıdaki programda, önce stringBuilder aracılığıyla tanımlanan bir dizgeye sahip olduk. Daha sonra başka bir dizgeyi bir öncekiyle birleştirmek için Append () 'i kullandık. Kod satırını eklemeden önce çalıştırırsak, çıktı 'Merhaba' olur, ancak onu eklediğimizde ve sonucu yazdırdığımızda 'Merhaba Dünya', yani önceki dizgeyi eklenmiş dize ile yazdıracaktır.
# 2) Temizleme Yöntemi
Bu yöntem, geçerli StringBuilder'daki tüm karakterleri kaldırır. Boş bir dizge almamız gereken veya verileri bir dize değişkeninden temizlememiz gereken senaryolarda çok yararlıdır.
Misal:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Yukarıdaki programın çıktısı:
Merhaba
Selam Dünya
StringBuilder üzerinde temiz bir işlem gerçekleştirdiğimizde ve sonra ortaya çıkan dizgeyi yazdırmaya çalıştığımızda. Siyah bir dize değeri alacağız. Yukarıdaki programda, değeri StringBuilder'a ekledik ve değeri konsola yazdırdık.
Daha sonra StringBuilder'daki tüm değeri kaldıran bir temizleme işlemi gerçekleştirdik, bundan sonra yazdırmaya çalıştığımızda boş bir değer yazdırdık.
# 3) Yöntemi Kaldır
Kaldır, temizlemeye benzer, ancak biraz farklıdır. Ayrıca karakterleri StringBuilder'dan kaldırır, ancak bunu ClearBuilder'da bulunan tüm karakterleri kaldıran clear'den farklı olarak belirli bir aralıkta yapar. Kaldır, senaryo programın belirli bir karakter kümesini dizenin tamamı yerine Dizeden kaldırmasını gerektirdiğinde kullanılır.
Misal:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Yukarıdaki programın çıktısı şöyle olacaktır:
Merhaba
Selam Dünya
O Dünya
Kaldır iki parametreyi kabul eder, ilki başlangıç dizinini, yani kaldırmaya başlamak istediğiniz karakterin dizinini belirtir. İkinci parametre ayrıca uzunluğu, yani kaldırmak istediğiniz karakterin uzunluğunu belirten tamsayıyı da kabul eder.
Yukarıdaki programda başlangıç indeksini 2 ve uzunluğu üç olarak verdik. Böylece, karakteri 2. dizinden kaldırmaya başladı, yani He'l'lo ve uzunluğu üç olarak verdik, program 'l' den üç karakteri çıkardı ve 'l o' kaldırıldı.
# 4) Yöntem Ekle
Verilen dizinde dizenin içine bir veya daha fazla karakter ekler. Ayrıca, kullanıcının string veya karakterin StringBuilder'a kaç kez eklenmesi gerektiğini belirtmesine izin verir. Karakterlerin belirli bir pozisyonda verilen diziye girilmesi gereken durumlarda kullanılır.
Misal:
en iyi youtube mp3 dönüştürücü indir
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Yukarıdaki programın çıktısı şöyle olacaktır:
Selam Dünya
He_insert_llo Dünya
Yukarıdaki programda, belirli bir dizine karakter eklemek için Ekle yöntemi kullanılır. Ekleme yöntemi iki parametreyi kabul eder. İlk parametre, karakterlerin ekleneceği dizini belirten bir tamsayıdır. İkinci parametre, kullanıcının verilen dizine eklemek istediği karakterleri kabul eder.
# 5) Yöntemi Değiştir
Değiştirme yöntemi, StringBuilder'daki belirtilen dizenin tüm oluşumlarını kullanıcı tarafından sağlanan dize veya karakterle değiştirir. Belirli bir dizindeki belirli karakterleri değiştirir. Bazı karakterlerin başka bir karakterle değiştirilmesi gereken senaryolarda kullanılabilir.
Misal:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Yukarıdaki programın çıktısı:
Selam Dünya
Merhaba dünya
Yukarıdaki programda, 'Merhaba' yerine 'Merhaba' yerine Değiştirme yöntemini kullandık. Değiştirme yöntemi iki parametreyi kabul eder; ilki değiştirmek istediğiniz dize veya karakterlerdir ve ikincisi, değiştirmek istediğiniz dize veya karakterdir.
# 6) Eşittir Yöntemi
Adından da anlaşılacağı gibi, bir StringBuilder'ın diğerlerine eşit olup olmadığını doğrular. StringBuilder'ı bir parametre olarak kabul eder ve elde edilen eşitlik koşuluna göre bir Boolean değeri döndürür. İki StringBuilders için eşitlik koşulunu doğrulamak istiyorsanız bu yöntem oldukça kullanışlıdır.
Misal:
class Program { public static void Main(string() args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
Yukarıdaki programın çıktısı şöyle olacaktır:
Yanlış
Doğru
Yukarıdaki programda, birinci ve üçüncü StringBuilder nesneleri eşittir, yani aynı değere sahiptirler. Bu nedenle, birinci ile ikinciyi eşitlediğimizde, yanlış bir değer döndürdü, ancak birinci ve üçüncüyü eşit olarak eşitlediğimizde doğru döndü.
Sonuç
C # 'teki StringBuilder sınıfı, bir dizede birden çok işlemin gerçekleştirildiği performansı geliştirmek için kullanılır.
Değişmez olduğundan, bir dizge her değiştirildiğinde bellekte başka bir dizgi nesnesi oluşturur. StringBuilder bunu azaltmayı hedefliyor.
Kullanıcının dinamik bellek ayırarak aynı nesne üzerinde değişiklik yapmasına izin verir. Bu, daha fazla veri barındırmak için gerekirse bellek boyutunu artırabileceği anlamına gelir.
=> Yeni Başlayanlar İçin C # Kılavuzunu Buradan Okuyun
Önerilen Kaynaklar
- C # Dize Eğitimi - Kod Örnekleriyle Dize Yöntemleri
- Karşılaştırma Testi Nedir (Örneklerle Öğrenin)
- Kod Örnekleriyle C # İşlevleri / Yöntemleri Öğreticisi
- Java Arayüzü ve Örneklerle Soyut Sınıf Eğitimi
- Yöntemler ve Yaşam Döngüsü İçeren Java Konuları
- Örneklerle C ++ 'da Tarih ve Saat İşlevleri
- Örneklerle C ++ 'da Kabuk Sıralama
- Örneklerle C ++ 'da Lambdas