c# unboxing

Katılım
21 Kas 2013
Mesajlar
45
Puanları
1
Yaş
31
object sayi7 = 1;
Console.WriteLine(sayi7.GetType());
ekrana int çıktısı veriyor ama benim sorum şu sonuçta object tipi ram da saklanırken atadığımız değere göre saklanmıyor biz de bunun için unboxing yapmamaıza rağmen neden gettype ile sayi7 nin değerini int demiş ?
 
object sayi7 = 1;
int sayi = (int)sayi7;

bu doğru bir işlemdir. sayi değişkeninin tipini ve değerini ekrana yazdır. int olarak korunduğunu göreceksin. Bu sadece struct türü için değil tüm sınıflar ve interface ler için de geçerlidir.

Kod:
using System;

namespace UnboxingTest
{
    class Program
    {
        static void Main(string[] args)
        {
            object sayiInt = 1; // girdiğin sayı değerlerini default olarak int olarak yorumlar.
            Console.WriteLine(sayiInt.GetType());

            // Bir de şunları dene...

            object sayiCh = '1';
            Console.WriteLine(sayiCh.GetType());

            object sayiSt = "1";
            Console.WriteLine(sayiSt.GetType());

            object sayiLong = (long)1;
            Console.WriteLine(sayiLong.GetType());

            object sayiULong = (ulong)1;
            Console.WriteLine(sayiULong.GetType());

            object sayiDecimal = (decimal)1;
            Console.WriteLine(sayiDecimal.GetType());

            Console.ReadLine();
        }
    }
}
 
Son düzenleme:

Forum istatistikleri

Konular
128,187
Mesajlar
915,699
Kullanıcılar
449,956
Son üye
CharmanDear

Yeni konular

Geri
Üst