Bu yazımızda var ve object değişkenlerinin kullanım ve yapısından bahsedeceğiz.Diğer değişkenlerle arasındaki farktan ziyade bu iki değişken arasındaki farkı anlamak daha önemli.
var tipi değişken;
var tipi değişken tanımlarsanız eğer değişkenin tipini siz değil derleyici tanımlayacaktır.Derleyicinin tanımladığı tipe göre o veri RAM üzerin de o tiple saklanacaktır.
Not:var değişken tipi,diller arası,databaseler arası entegrasyonu sağlarken veri tipleri uyuşmazlığını gidermek için oluşturulmuş bir tiptir.Yani C#’ta int ile tanımlanan bir değişken Delphi ‘de başka türlü tanımlanabilir.var değişken tipide bütün dillerde evrensellik özelliği taşımaktadır.Sizlere tavsiyem normal kodlamada verinizin tipine göre normal değişken tanımlayınız.
var a = 10.6; //a değişkeninin tipi double dır. var b = 20; //b değişkeninin tipi int dir. var c = "asd"; //c değişkeninin tipi string dir. var d = true; //d değişkeninin tipi booldur.
object tipi değişkenler
object olarak tanımlanan değişken her tipteki veriyi içinde saklayablir.Fakat object tipteki değişkene atanan değer Boxing(Kutulama) işlemine uğrar.Yani,object tipiyle oluşturduğumuz bir string değişken,RAM’e string olarak değilde object olarak kaydedilir.Tanımlanan object değişkeni kullanmak istediğimiz de,içinde saklanan verinin tipini elde ederek kullanmalıyız.Bunun içinde Unboxing(Kutudan Çıkarma) işlemi yapılır.Bu işlem sonucunda object içindeki asıl tipini almış oluruz.
object o1 = "ali"; object o2 = 12.5f; object o3 = 'c'; object o4 = true;
Yukarıda object tipiyle oluşturulan değişkenler bulunmaktadır.Bu değişkenlere verilen değerlerin hiç biri RAM’e tipine göre isimlendirilerek kaydedilmemiştir.object olarak kaydedilmiştir.İşte bu işleme Boxing(Kutulama) denir.
object b=10; //Boxing
Üstte b adında object tipli bir değişken oluşturduk.Bu oluşturduğumuz değişkeni Unboxing yapmak için aşağıdaki işlemi yapmamız gerekiyor.
int a = (int)b; //Unboxing
Başka bir örnek;
object ahmet1 = "ahmet";//Boxing string ahmet2 = (string)ahmet1;//Unboxing
Son olarak object tipli değişkenler de,değişkenin içinde ki verinin tipini dinamik olarak öğrenmek istiyorsak aşağıdaki metod işimizi görecektir.
object dd=TİPİBİLİNMEYENBİRDEĞER; dd.GetType();/*Bu metod sayesinde dd isimli object değişkeninin içinde sakladığı değişkenin tipini öğrenebiliriz.*/
İyi çalışmalar…