📘 2.3 – Veri Tipi Dönüşümleri ve Hata Kontrolü
🔹 Açıklama:
Kullanıcıdan alınan veriler çoğu zaman string tipindedir; ancak bu verilerle sayısal ya da mantıksal işlemler yapmak için veri türlerinin dönüştürülmesi gerekir. C# dilinde veri tipi dönüşümü, hem güçlü hem de hata riski taşıyan bir işlemdir. Bu nedenle dönüşüm yöntemleri kadar hata kontrolü de öğrenilmelidir.
Bu başlıkta:
Convert.To...()
kullanımıint.Parse
,double.Parse
gibi doğrudan dönüşüm yöntemleriTryParse
ile hatasız ve güvenli veri okuma- Kullanıcı hatalarına karşı programın çökmesini önleme
- Tip dönüşümünün sınırlamaları
öğrencilere örneklerle aktarılacaktır.
📍 Kullanım Alanları:
- Formlardaki kullanıcı girişlerini sayıya çevirme
- Tarih, saat ve mantıksal veri işlemleri
- Hatalı girişleri tespit ederek kullanıcıyı uyarma
- Hesaplama, fatura, puanlama gibi işlemlerde tür uyumu sağlama
🎯 Kazanımlar:
- Veri tipi uyumsuzluklarından kaynaklanan hataları tanıma
- Farklı dönüşüm yöntemlerinin avantajlarını öğrenme
- Hatalara karşı dirençli kod yazma
- Kullanıcı dostu uygulamalar geliştirme
🧪 2.3 – Veri Tipi Dönüşümleri ve Hata Kontrolü: Örnekler
📌 Örnek 1: Convert.ToInt32 Kullanımı
🎯 Amaç:
String türündeki sayısal veriyi tamsayıya dönüştürmek.
💻 Kod:
string giris = "25";
int sayi = Convert.ToInt32(giris);
MessageBox.Show("Girilen sayı: " + sayi);
📝 Açıklama:Convert.ToInt32()
string değeri tamsayıya çevirir. Boş string için 0 döner; ancak geçersiz karakterler varsa FormatException
hatası verir.
📌 Örnek 2: int.Parse ile Dönüştürme
🎯 Amaç:
Kullanıcının yazdığı değeri sayıya çevirerek işlem yapmak.
💻 Kod:
string giris = "100";
int sayi = int.Parse(giris);
int sonuc = sayi * 2;
MessageBox.Show("Çarpım: " + sonuc);
📝 Açıklama:int.Parse()
kullanımı doğrudan dönüşüm sağlar. Ancak veri uygun değilse program hata verir. Bu nedenle dikkatli kullanmak gerekir.
📌 Örnek 3: double.TryParse ile Güvenli Dönüşüm
🎯 Amaç:
Kullanıcının yazdığı ondalıklı sayıyı güvenli şekilde okumak.
💻 Kod:
string giris = "13.75";
bool sonuc = double.TryParse(giris, out double sayi);
if (sonuc)
MessageBox.Show("Sayı: " + sayi);
else
MessageBox.Show("Geçersiz giriş!");
📝 Açıklama:TryParse
dönüşüm başarılıysa true
döner ve sayıyı out
parametresiyle verir. Başarısızsa program çökmez, kullanıcıya uyarı verilir. En güvenli yöntemlerden biridir.
📌 Örnek 4: Kullanıcının Girdiği Değerin Sayı Olup Olmadığını Kontrol Etmek
🎯 Amaç:
Girişin sayıya çevrilip çevrilemeyeceğini kontrol etmek.
💻 Kod:
string giris = txtGirdi.Text;
if (int.TryParse(giris, out int sayi))
{
lblSonuc.Text = "Geçerli sayı: " + sayi;
}
else
{
MessageBox.Show("Lütfen geçerli bir sayı girin.");
}
📝 Açıklama:
Gerçek bir Windows Form senaryosunda, kullanıcının TextBox’a yazdığı veri kontrol edilerek tip dönüşümüne göre işlem yapılır. Hata kontrolü bu aşamada hayati önem taşır.
📌 Örnek 5: Tür Dönüşümünde Kültürel Farklara Dikkat
🎯 Amaç:
Ondalıklı sayıların farklı kültürel formatlarda yorumlanmasını göstermek.
💻 Kod:
string giris = "13,75";
bool sonuc = double.TryParse(giris, System.Globalization.NumberStyles.Any,
new System.Globalization.CultureInfo("tr-TR"), out double sayi);
if (sonuc)
MessageBox.Show("Türkçe giriş okundu: " + sayi);
else
MessageBox.Show("Geçersiz giriş");
📝 Açıklama:
Bazı sistemlerde ondalık ayracı nokta, bazılarında virgüldür. Bu örnek, CultureInfo
kullanarak yerel formatlara uyumlu dönüşüm yapılmasını sağlar.
✅ Özet:
Bu bölümde Convert
, Parse
ve TryParse
ile veri dönüşüm yöntemlerini, olası hataları ve bunların güvenli biçimde nasıl kontrol edileceğini öğrendik. Gerçek dünyadaki kullanıcı hatalarına karşı sağlam kod yazma becerisi kazandırıldı.