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:

Yeni mesajlar

Forum istatistikleri

Konular
128,190
Mesajlar
915,724
Kullanıcılar
449,960
Son üye
katzeimar

Yeni konular

Çevrimiçi üyeler

Geri
Üst