Çarşamba, Eylül 12

C# Tür Dönüşümü

C# Tür Dönüşümü   C# da tür dönüşümü 2'ye ayrılır bilinçli tür dönüşümü ve bilinçsiz tür dönüşümü kullanım ayanları farklıdır. 2 farklı tipi işleme sokmak istediğimizde tür dönüşümleri gerekmektedir.
  •    Bilinçsiz Tür Dönüşümü

    Küçük tipin büyük tipe donşmesi durumuna bilinçsiz tür dönüşümü deniyor, bunun sebebi RAM uzerinde daha az yer kaplayan küçük boyutlu değişkenin büyük boyutlu değişken e donüştürülmek istenmesi.

namespace BilincsizTurDonusumu
{
    class Program
    {
        static void Main(string[] args)
        {
            byte kucuk = 250; // Bellekte 8 bit yer tutar
            ulong cokBuyuk = 1234567891123456; // Bellekte 64 bit yer tutar           
            cokBuyuk = kucuk; // Kucuk bir deger icin bellekte fazla yer ayırmış olduk bu yüzden bu tip donüşümlere bilinçsiz tür dönüşümü denir.
        }       
    }
}
  • Bilinçli Tür Dönüşümü

       Bu dönüşüm tipinde ise büyük türden kücük türe dönşümdür, ve mühtemel veri kaybını bilinçli olarak kabul ettiğimizi framework'e bildiririz." (dönüştürülecek hedef tür)değişken " seklinde tanımlarız.

namespace BilincsizTurDonusumu
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi = 45065431;  // Bellekte 32 bit yer kaplar
            byte kSayi = 15;  //Bellekte 8 bit yer kaplar

            kSayi = (byte)sayi; //sayının önüne parantez içinde dönüştürmek istediğimiz türü belirtmeliyiz, aksi halde derleme zamanı hatası alırız bu durumda veri kaybı kaçınılmaz byte tipi 0-255 arası değer barındırabilir ve kSayi değişkeninin aldığı değer 215 olacaktır.
            //Tür dönüşümüne izin verilmeyen bazı tiplerde ise Convert sınıfı kullanılabilir.             
            string yazi = "123456";
            int sayi = 12;
            sayi = Convert.ToInt32(yazi); //sayi değişkeni 123456 değerini aldı.           
        }       
    }
}

Hiç yorum yok: