Programlama esnasında bazı ifadeleri belirli bir biçim içerisinde yazmamız istenirse String.Format( ) metodu kullanılır.
Bu metot geriye string türünde bir veri döndürür.Örneğin metinsel ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;
Yukarıdaki resmi incelediğimizde String.Format( ) metodunun kullanımında, küme parantezleri ( { } ) içerisindeki ilk değer, degisken isimli değişken içerisindeki değeri referans göstermektedir. İkinci değer ise değişkenin içeriğinin, ekranda kaç karakterlik alan kaplayacağını (Örn: Bu değer 5 ise ekranda 6 karakterlik, -7 ise 8 karakterlik yer kaplar) belirtir.
Bu değerin pozitif olması, değişken değerinin ayrılan alanının sağına hizalı olacağını, negatif olması ise soluna hizalı olacağını belirler.
Örnek :Sıra No, Adınız, Soyadınız şeklinde başlıkları olan ve içeriği dolu olan bir tablo hazırlayıp, ekrana yazdırınız.
1 2 3 4 5 6 7 8 9 10 11 12 |
Console.WriteLine(“——————————-”); Console.WriteLine(“Sıra No | Adınız | Soyad”); Console.WriteLine(“——————————-”); Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 1, “Ali”, “AYDIN”)); Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 2, “Hasan”, “KOŞAN”)); Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 3, “Selim”, “KAÇAN”)); Console.WriteLine(“——————————-”); |
Örneğin int türündeki sayısal ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;
1 2 3 |
String.Format(“{0:00000}”, 15); // “00015″ |
1 2 3 |
String.Format(“{0,5}”, 15); // ” 15″ |
ifadesiyle 15 sayısı ekrana başına 3 adet boşluk eklenerek toplamda 5 karakterlik bir alana sağa hizalı olarak yazılır.
String.Format( ) metodunun sıfır ve negatif sayılar için özel formları vardır. Sayılar biçimlenirken kullanılan noktalı virgül (;) ile formatı 3 bölüme ayırırız. Buradaki ilk bölüm sayının değerini, ikinci bölüm negatif sayıların biçimini, üçüncü bölüm ise sıfırın ekrana nasıl yazılacağının biçimini belirlememize yardımcı olur.
String.Format(“{0:#;eksi #}”, 15); // “15″
String.Format(“{0:#;eksi #}”, -15); // “eksi 15″
String.Format(“{0:#;eksi #;Sıfır}”, 0); // “Sıfır”
Sayıları isteğe bağlı biçimlendirmek istersek (örneğin bir telefon numarasını
alan kodu ve telefon numarası ayrı ayrı yazılsın istiyorsak), biçimlendirme
işleminde diyez (#) işareti ile formatımızı belirleriz;
String.Format(“{0:### ## ##}”, 1234567); // 123 45 67
String.Format(“{0:(#) ###-##-##}”, 12345678); //(1) 234-56-78
ifadesiyle 15 sayısı ekrana başına 3 adet 0 eklenerek toplamda 5 karakter olarak yazılır.
Örneğin tarih/saat türündeki ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;
Tarih/Zaman ifadelerini belirtmek için önceden belirlenmiş bazı anahtar harfler vardır.
Bunlar;
y: Yıl,M: Ay, d: Gün,
h: 12’lik sistemde saat, H: 24’lük sistemde saat m: Dakika
s: Saniye f: Salise z: Zaman dilimi
Örnek : DateTime.Now ile alınan Tarih ve Zamana ait değerlerin gösterimleri şu şekilde sağlanır;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
static void Main(string[] args) { Console.WriteLine("{0:dd}", DateTime.Now); Console.WriteLine("{0:ddd}", DateTime.Now); Console.WriteLine("{0:dddd}", DateTime.Now); Console.WriteLine("{0:hh}", DateTime.Now); Console.WriteLine("{0:HH}", DateTime.Now); Console.WriteLine("{0:mm}", DateTime.Now); Console.WriteLine("{0:MM}", DateTime.Now); Console.WriteLine("{0:MMM}", DateTime.Now); Console.WriteLine("{0:MMMM}", DateTime.Now); Console.WriteLine("{0:yy}", DateTime.Now); Console.WriteLine("{0:yyyy}", DateTime.Now); Console.WriteLine("{0:hh:mm:ss}", DateTime.Now); Console.WriteLine("{0:dd/MM/yyyy}", DateTime.Now); Console.ReadLine(); } |