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(); } } }

C#ta tür dönüşümleri
yazarı:
Etiketler:
Bir cevap yazın