2.3 – Veri Tipi Dönüşümleri ve Hata Kontrolü


📘 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öntemleri
  • TryParse 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ı.


Leave a Reply