C#ta tür dönüşümleri

C#ta tür dönüşümleri

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace NetFramework.S1.D4.TurDonusumleri {     class Program     {         static void Main(string[] args)         {                          byte sayi1 = byte.MaxValue;             sayi1 = byte.MinValue;              //Bilinçli Tür Dönüşümü              int sayi2 = 125;             sayi1 = (byte)sayi2; // (byte) ile bilinçlendiriyoruz.             //üstteki dönüşüm bilinçli tür dönüşümüdür.             Console.WriteLine(sayi1);               // BİLİNÇSİZ TÜR DÖNÜŞÜMÜ             double sayi3 = 10;             sayi3 = sayi2; // bilinçsiz dönüşümdür. double>>int'ten büyük olduğundan dönüşümü kabul ediyor.             Console.WriteLine(sayi3);              // checked - unchecked             sayi2 = 512;             sayi1 = (byte)sayi2; //byte enfazla 255 alır. bu değeri aştığından sayi1=0 değerini alır. // bu durumda .netframework unchecked davranır. Yani hata vermez.              checked             {                 sayi2 = 512;                 sayi1 = (byte)sayi2;             }// checked sayesinde taşma tespit edildi ve hata fırlattı              /*               System.OverflowException: 'Aritmetik işlem taşmayla sonuçlandı.'               */             unchecked {                 sayi2 = 512;                 sayi1 = (byte)sayi2;             } // değer kaybı yaşansa da hata döndürmez.               //OBJECT VERI TIPI             //TUM .NET VERITIPLERİNİN ATASIDIR.              object temelTip = sayi2;             temelTip = sayi3;             temelTip = new { marka="Opel", model="Corsa" }; // isimsiz sınıf                                                             // bu işleme kutulama (boxing) deriz.               temelTip = sayi2; //boxing işlemi             sayi2 = (int)temelTip; //unboxing işlemi                  Console.ReadLine();           }     } } 

Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir