Başlık: Başlangıç
    Biçimlendirme Yöntemleri Metin ve Değerleri Birleştirme $”{ }” Dize İçi Değer Doğrudan değişken yerleşimi {0} Konum Belirteci Sıralı indeks kullanımı + Dize Uç Uca Ekleme Operatör ile metin bağlama Biçim Belirteçleri Özel Görünüm Standartları :C Para Birimi ₺250,00 :N Basamaklı Sayı 1.500,00 😛 Yüzdelik Değer %75,00 :d Kısa Tarih 09.10.2026 Kullanıcı Arayüzü Çıktısı

    Metin biçimlendirme; sayı, tarih, saat veya nesne gibi farklı veri tiplerini insan tarafından okunabilir, standartlara uygun ve bağlama göre düzenlenmiş dizgeler (string) hâline getirme işlemidir.

    Neden Gerekli?

    • Okunabilirlik ve Sunum: Ham verilerin (örneğin 12.345678 veya 2026-10-15T20:34:00) kullanıcı arayüzlerinde anlaşılır, sade ve düzenli görünmesini sağlar.
    • Yerelleştirme (Localization / Globalization): Para birimi, ondalık ayırıcılar (virgül/nokta) ve tarih sıralamaları ülkeden ülkeye değişir. Biçimlendirme, verinin hedef kültüre (CultureInfo) göre otomatik uyarlanmasını sağlar.
    • Veri Standardizasyonu: Dış sistemlere (API, veritabanı, dosya sistemleri) gönderilen veya loglanan verilerin belirli bir protokol ve şablona uymasını temin eder.
    • Hizalama ve Düzen: Konsol çıktılarında, faturalarda veya tablolarda metinlerin sola, sağa yaslanarak sütunlar halinde muntazam dizilmesini sağlar.
    • Bellek ve Performans: Düzensiz + operatörü ile yapılan birleştirmeler bellekte gereksiz nesne kopyaları (immutable string yükü) oluşturur; modern biçimlendirme yöntemleri bellek yönetimini optimize eder.

    Nerelerde Kullanılır?

    Kullanım AlanıAçıklamaTipik Örnek
    Kullanıcı Arayüzleri (UI)Web, masaüstü veya mobil formlarda son kullanıcıya gösterilen verilerPara birimi gösterimi (₺1.250,50), yüzde oranları (%18)
    Tarih ve Saat GösterimleriZaman damgalarının kullanıcıya veya raporlama formatına uyarlanmasıGün/Ay/Yıl (dd.MM.yyyy) veya saat (HH:mm:ss) gösterimi
    Loglama ve Hata TakibiSistem olaylarının, istisnaların (exception) ve parametrelerin kaydedilmesiYapılandırılmış log mesajları ([2026-10-15] User {id} logged in)
    Raporlama ve TablolamaKonsol ekranları, fiş/fatura ve metin tabanlı belgelerSabit sütun genişliklerine göre sağa/sola hizalanmış metinler
    Metin Tabanlı Veri ÜretimiKod içinden e-posta şablonları, SQL sorguları, JSON veya XML üretimiÖnceden tanımlı şablonların içine değişkenlerin dinamik yerleştirilmesi

    Bütün sabit bir metin içerisine değişken değeri gönderilmesini sağlar. Değişken değeri {..} içerindeki alana yerleştirilir.

    string.Format("Hava sıcaklığı ortalaması gündüz {0} derece  ve gece ise {1} derecedir.", 18, 2);

    Tarihsel Biçimlendirme

    string.Format("{0:dd MMMM yyyy dddd HH:mm:ss}", DateTime.Now)
    TarihKısaltmasıYazılışıOutput
    Short Dated{0:d}5.2.2017
    Long DateD{0:D}5 Şubat 2017 Pazar
    Full Date Timef{0:f}5 Şubat 2017 Pazar 16:30
    Default Date Timeg{0:g}5.2.2017 16:30
    Month DayM{0:M}5 Pazar
    GMTU{0:U}5 Şubat 2017 Pazar 16:30:45
    Daydd{0:dd}5
    Monthmm{0:mm}2
    Yearyy{0:yyyy}2017
    Hour (1-24)HH{0:HH}16
    Hour (1-12)hh{0:hh}04
    Date Separator/{0:dd/mm/yyy}5.2.2017
    Date Separator:{0:dd.M.yyyy HH:mm:ss}5.2.2017 16:30:45

    Rakamsal Biçimlendirme

    İfadeKısaltmasıYazılışıOutput
    Currency Para BirimiC{0:C0}- {0:C1} – {0:C2} 7₺ – 7.0₺ – 7.00₺
    Percent YüzdeP{0:P0}3 için %300 – 0.3 için  – %30

    ÖRNEK:

    //Currency - Para birimi {0:C} En çok tercih edilen
    string.Format("Cebimde {0:C2} var.",7);
    //çıktısı : Cebimde 7.00₺ var.

    //Percent - Yüzde {0:P}
    string.Format("{0:P0} dilimlik bir kısım derslerine çalışmıyor.",0.35)
    //çıktısı: %35 dilimlik bir kısım derslerine çalışmıyor.