C#

C# Kelimenin İlk Harfini Büyük Yapma

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde cümledeki kelimelerin ilk harfini büyük yapmayı anlatacağım. Hadi başlayalım !
Öncelikle kullanıcıdan bir cümle isteyelim ve bunu cumle ismindeki string bir değişkene atayalım.
Console.Write("Cümle Giriniz: ");
string cumle = Console.ReadLine();
Burada iki farklı yolumuz var. Birincisi C#’ın sağlamış olduğu hazır bir fonksiyonu kullanmak. İkincisi de kendi fonksiyonumuzu yazmak. Öncelikle hazır fonksiyonu anlatmak istiyorum.
Bu dediğim hazır fonksiyonu kullanabilmek için System.Globalization kütüphanesini kod sayfamıza eklememiz gerek. Bunun için sayfanın en başına
using System.Globalization;
kod satırını eklememiz yeterli, artık ihtiyacımız olan fonksiyonu kullanabiliriz.
Bu fonksiyon CultureInfo.CurrentCulture.TextInfo.ToTitleCase() gibi uzun bi erişimi olan bi fonksiyon 🙂 Bu fonksiyon parametre olarak string tipte değer alıyor, ki burada bizim kullanıcıdan aldığımız cumle isimli değişken oluyor ve geriye de elbette string döndürüyor. Kullanımı da şöyle;
string ilkHarfBuyuk = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(cumle);
Evet kısa yol böyleydi, şimdi geldik uzun yola 🙂 Aslında o kadarda uzun değil ama hazır bi fonksiyon kullanmayacak, kendi fonksiyonumuzu kendimiz yazacağız. Bunun içinde string fonksiyonlarından faydalanacağız.
Öncelikle girilen cümleyi kelimelerine ayıralım çünkü kelimelerin ilk harfi büyük olacaktı. Bunun içinde Split() fonksiyonundan faydalanacağız.
Bu fonksiyon char tipinde yani tek karakterlik bir parametre alıyor ve istenilen string ifadeyi o parametreye göre parçalayıp geriye dizi döndürüyor. Bir cümleyi kelimelerine ayırmanın yolu, cümleyi boşluklardan bölmektir ve şimdi bizde öyle yapalım;
string[] dizi = cumle.Split(' ');
Biz her kelimenin ilk harfini büyüteceğimiz için tüm kelimelerin üstünden geçmemiz gerek, ki ilk harflerini büyütebilelim 🙂 Tüm kelimelerin üstünden geçebilmenin en güzel yolu da döngü kullanmak. Biz burada for döngüsü kullanacağız.İşte asıl işi yapacağımız yer burası. Döngünün her adımında bize ilgili kelime geliyor ya, bu kelimenin ilk harfini büyüteceğiz, kalan tüm harfleri de aynen bırakıp birleştireceğiz.
Aslında birleştirme işleminden ziyade, kelimeyi tekrar yerine yazalım. Yani bu kelimeler dizi içindeydi, kelimeyi bulunduğu indisten güncelleyebiliriz değil mi.
Biraz karmaşık gibi gelebilir fakat dediğim bu kadar şeyin kod kısmı şöyle;
for(int i = 0; i < dizi.Length; i++)
dizi[i] = dizi[i][0].ToString().ToUpper() + dizi[i].Substring(1);
Yaptığımız işlemleri şöyle bi gözden geçirelim. Eşitliğin sağ tarafındaki dizi[i][0].ToString().ToUpper() kısmı ile döngünün o anki adımındaki kelimenin ilk harfini alıp büyüttük fakat kelimenin ilk harfi char tipinde olduğu için büyütebilmek, yani ToUpper() fonksiyonunu kullanabilmek için öncelikle string tipine çevirmemiz gerekiyordu.
dizi[i].Substring(1) kısmı ile de kelimenin 1. indisinden itibaren kelimenin sonuna kadar olan kısmı alıp daha önce büyüttüğümüz ilk karakterin sonuna ekledik ve tüm ifadeyide eşitliğin sol tarafındaki dizi[i] ile o anki kelimenin yerine yazdık.Artık son olarak elimizde dizi olarak bulunan kelimeleri birleştirip cümle haline çevirelim.
Bunu da bir diğer string fonksiyonu olan Join() fonksiyonu ile yapacağız. Bu fonksiyon parametre olarak string tipte bir ayraç ve bir dizi istiyor. Ayraçtan kastımda kelimeler arasına neyin geleceğini belirtiyoruz. Cümlenin kelimeleri arasında boşluk olduğu için bizde boşluk koyacağız.
Dizi olarakta elimizde bulunan dizi ismindeki kelimeleri vereceğiz.
string ilkHarfBuyuk2 = string.Join(" ", dizi);
Son olarak konsol ekranına hem hazır fonksiyon ile hemde elle yaptığımız şeyleri yazdıralım ve işlemimizi tamamlayalım;
Console.WriteLine("Hazır Fonksiyon Kullanarak Yaptığımız Büyütme İşlemi Sonucu: " + ilkHarfBuyuk);
Console.WriteLine("Kendi Yazdığımız Fonksiyonun Sonucu: " + ilkHarfBuyuk2);
Evet bu dersimiz bu kadardı, yazdığımız kodları daha toplu olması için aşağıya bırakıyorum;
Console.Write("Cümle Giriniz: ");
string cumle = Console.ReadLine();
string ilkHarfBuyuk = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(cumle);
string[] dizi = cumle.Split(' ');
for(int i = 0; i < dizi.Length; i++)
dizi[i] = dizi[i][0].ToString().ToUpper() + dizi[i].Substring(1);
string ilkHarfBuyuk2 = string.Join(" ", dizi);
Console.WriteLine("Hazır Fonksiyon Kullanarak Yaptığımız Büyütme İşlemi Sonucu: " + ilkHarfBuyuk);
Console.WriteLine("Kendi Yazdığımız Fonksiyonun Sonucu: " + ilkHarfBuyuk2);
Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.
Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu