string.Format() ile Karakter Katarını Formatlama

C# içerisinde belki on binlerce farklı sınıf ve metod var. Peki bunlardan kaç tanesini gerçek anlamları ile kullanıyoruz. Bir çok metod aslında günlük kullanımımız içerisinde kendini çok farklı ortaya çıkarmamızı sağlayan farklı yöntemlerle şekil buluyor kodlama hayatımızda.

İşte string.Format() fonksiyonu da kısaca bunlardan bir tanesi.

Genel içeriği aşağıdaki şekilde;

string.Format(string format, params object[] args)

Yukarıda belirttiğim şekilde, istediğiniz formatı hazırladıktan sonra içerisine istediğini türden objeyi atarak yazınızı oluşturabilirsiniz.

Nasıl mı?

String.Format Nasıl Kullanılır?

string sonuc = string.Format("{0}-{1}-{2}", "Erkan", "Domurcuk", 2020)

Buradaki “2020” hatalı bir yazım değil. Zira normalde bunu aşağıdaki şekilde de yazabiliyor idik;

string sonuc = "Erkan" + " " + "Domurcuk" + " " + 2020.ToString()

Gördüğünüz gibi burada aradaki ayraçlar, boşluklar, vs… hepsi kompleks ve girift bir hal alıyor. Yani bir değerin yerini değiştirdiğinizde aradaki boşluğu da almanız, doğru yere koymanız, vs… gerekmektedir.

Ancak string.Format() metodu ile verdiğiniz objeyi tipi ne olursa olsun kendisi .ToString() ekleyerek işleme almakta.

string.Format("{0} {1}", adi, soyadi)

Yukarıdaki örnekteki her bir {0}, {1}, … gibi ifade çift tırnağı kapattıktan sonraki değeri bir dizi gibi algılayıp onun index numarasını kullanmaktadır. Örneğin yukarıdaki örneğe bir de {2} verip aynı şekilde kullanmak isterseniz, 3. parametrenin olmadığına dair bir hata alacaksınızdır.

Burada dikkat edilmesi gereken veya karıştırılmaması gereken yer ise içeriye örneğin bir sınıfı (“AracMarkalari” olsun) veremezsiniz. Zira bunu verdiğinizde Newtonsoft kullanır gibi bunu bir string’e dönüştürme ve yazıya ekleme özelliği bulunmamaktadır. Buradaki “object” kısmından kasıt aslında kısaca “decimal, float, int, vb…” değerlerdir.

Yine son bir komleks örnek ile aşağıdaki şekilde sonlandıralım yazımızı;

string ad = "Erkan";
            string soyad = "Domurcuk";
            string dogum_tarihi = "01.01.1980";
            string adres = "Adres tam olarak buraya yazılacak.";

            string sonuc = string.Format("{1} {2}{0}{3}{0}{4}", Environment.NewLine, ad, soyad, dogum_tarihi, adres);
            Console.WriteLine(sonuc);

Çıktısı aşağıdaki gibi olacaktır;

0 0 vote
Article Rating
Share this Story

Related Posts

Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments

Sponsor Bağlantılar

Sponsor Bağlantılar