Selamlar,
Çoğunuzun bildiği üzere bu tip işlemler genelde mscorlib kütüphanesi ile c# tarafından yürütülür.
Burada işlememiz gereken ise string işlemlerine culture sınıfı kullanarak müdahale etmek. Tabi bu müdahaleyi yaparken aynı zamanda da .ToString(), .ToLower(), .ToUpper() gibi method benzeri methodlar haline getirmek. Bu neden ile ToTitleFirstCharacter isminde bir method oluşturacağız. Bu methodu da ExtensionManager sınıfına ekleyerek yapacağız.
Aşağıdaki şekilde bir kodumuz olsun.
static void Main(string[] args) { string kelime = "bu alanda yer alan kelimelerin baş harfleri büyük olacak"; }
Burada yer alan “kelime” değişkeninde vaadettiğimiz işlemi yapabilmek için aşağıdaki sınıfı oluşturuyoruz.
public static class ExtensionManager { public static string ToTitleFirstCharacter(this string Text) { return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Text.ToLower()); } }
Kodun tümünü işleyecek olursak son hali aşağıdaki gibi olacak;
class Program { static void Main(string[] args) { string kelime = "bu alanda yer alan kelimelerin baş harfleri büyük olacak"; string basHarflerBuyuk = kelime.ToTitleFirstCharacter(); } } public static class ExtensionManager { public static string ToTitleFirstCharacter(this string Text) { return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Text.ToLower()); } }
Kodun çıktısında “basHarflerBuyuk” değişkeninin içerisi “Bu Alanda Yer Alan Kelimelerin Baş Harfleri Büyük Olacak” şeklinde oluşmuş olacak.
Şunu belirtmek isterim; Bu kodu kullanacağınız yer bir sunucu ise, orada “İ, Ş, Ö, Ç, Ğ, vb…” Türkçe karakterlerin doğru şekilde dönüştürülebilmesi için işletim sistemindeki seçili kültürün Türkçe olması gerekir. Aksi taktirde bu karakterler küçük kalabilecek veya tanımsız karakterler halini alabilecektir.
Umarım işinize yarayan bir yazı olur…
Teşekkürler…