Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
   
Konu: C# - Convert ile Tür Dönüşümü {15}
Hera
*
avatar
Yüzbaşı
Durum: Çevrimdışı
Seviye Puanı: 10
Yaşam Puanı: 239 / 239
Deneyim: 58 / 100
Rep Sayısı: 44
Mesaj Sayısı: 133
Üyelik Tarihi: 13.04.2019
     
Yorum: #1
C# - Convert ile Tür Dönüşümü {15}
10.05.2019 19:35
System.Convert Sınıfı ile Tür Dönüşümü


C# dilinin doğal yapısında bulunan tür dönüşüm mekanizmalarının yanı sıra .NET sınıf kütüphanesindeki bazı özel sınıfların statik metotları da tür dönüştürme işlemi yaparlar. Tipik olarka System isim alanı altında bulunan Convert isimli sınıf bu işe yarar.

Bir sınıfın hemen her türe dönüşüm yapan metotları mevcuttur. Ancak bazı durumlarda bu dönüşüm işlemi gerçekleşmez. Bu durumlar şunlardır;
  • Herhangi bir türün yine kendi türüne dönüşümünde aynı tür tekrar üretilir. Bu durumda herhangi bir dönüşüm olmamış olur.
Örneğin, aşağıdaki herhangi bir tür dönüşümünden bahsetmek mümkün değildir.

int a = 50;
int b = Conver.ToInt32(a);

  • Dönüşüm işlemi sonucunda anlamlı bir ifadenin oluşmayacağı durumlar. Bu durumda "yanlış tür dönüşüm" (InvalidVastException) hatası oluşur.

Yine aynı şekilde aşağıdaki örnekte herhangi bir tür dönüşümünden bahsetmek mümkün değil.

char a = 50;
char b = Convert.ToBoolean(a);


Convert sınıfının bu metotları genellikle string türlerinin temel veri türlerine dönüşümü içni kullanılır.
Aşağıdaki hazırladığım tabloda Convert sınıfının çeşitli metotları mevcuttur. Bu tabloda örnek olması için metotların parametresi string türü olarak gösterdim. Ancak bu bir mecburiyet değildir. En çok kullanılan tür string türü olduğu için örnek olarak onu seçmek istedim.

Son olarak bütün bu öğrendiklerimizi bir örnek ile pekiştirelim. Aşağıdaki programda Console.ReadLine metodu ile konsol ekranında iki string alınıyor. Convert.ToInt32 metodu ile bu stringler int türüne dönüştürülüp toplamları ekrana yazdırılıyor.
Kod:
using System;

namespace Cyberizm
{
    class Program
    {
        static void Main()
        {
            string s1, s2;
            int sayi1, sayi2;
            int toplam;

            Console.Write("İlk Sayıyı Giriniz : ");
            s1 = Console.ReadLine();

            Console.Write("İkinci Sayıyı Giriniz : ");
            s2 = Console.ReadLine();
            sayi1 = Convert.ToInt32(s1);
            sayi2 = Convert.ToInt32(s2);
            toplam = sayi1 + sayi2;
            Console.WriteLine("Toplam = " + toplam.ToString());
        }
    }
}

Programı derleyip çalıştırdıktan sonra girdiğimiz 10 ve 10 sayıları için aşağıdaki ekran görüntüsünü elde ederiz.
Alinti



1 Ziyaretçi