Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Nullable Tipler

Yazar: esin gülten

Kategori: VB.NET

Eklenme Tarihi: 13.09.2009 22:08:39

Nullable Tipler: Framework 2.0 la birlikte gelen bu özellik integer gibi value tiplerde nothing (null) değerini alabilmesidir.
Aşağıdaki örnekte msgbox ile integer tipinde sayı değişkeninin değerini ekrana yazdırdım. Sayi değişkenin değerini nothing yaptım fakat sonuc 0 döndürdü. 0 null değildir. Var olan bir değerdir. Bu özellik visual basic e ait bir özelliktir. Yani sayı tipinde bir değişken tanımladığımızda vbasic derleyicisi sayı tipindeki değişkenin varsayılan değerini 0 olarak atama yapar. Bu durum c# da böyle değildir.


Sayı değişkenini null değer vermek isteseydik;



Yukarıdaki örnekte messagebox ekrana nothing bilgisini getirdi. Null değer alabilecek nitelikte tanımlanan değişkenlerde nothing bilgisini HasValue özelliği ile sorgulayabiliriz. Bu özellik Nullable değişkenlere aittir.



Nothing bilgisini içeren Nullable değişkenlerin Value özelliği okunamaz. Bu yüzden HasValue özelliği ile kontrol edilmelidir.


Matemetiksel işlemlerde değerlerden biri null ise sonuç null dönecektir visual basic derleyicisi bunu anlayıp bizden değerlerin null olup olmadığını kontrol etmemizi ister. Aşağıdaki örnekte görüldüğü gibi ekrana yazdırılan mesaj hata yakalama bloğundan geldi. Bize nesnemizin null değer içerdiğini ve bu nesnemizin bir değere sahip olması gerektiğini bildiriyor.


Nullable sınıfının GetValueOrDefault metodu; Value özelliğine ek olarak null nitelikli değişken, nothing bilgisi içeriyorsa geriye 0 gönderir. Aşağıdaki örnekte sayi2 nothing bilgisi içeriyorken toplama işlemi yaparken GetValueOrDefault metodunu kullandım. Böylece nothing bilgisi içeren değişkenim varsayılan olarak 0 değerini aldı.


Nullable değişkenlerde de IIF kontrol metodu kullanabiliriz. Aşağıdaki örnekte; Bu metodun Birinci parametresi:, sonuc değişkeni nothing bilgisi kontrolü yapılır ve geriye True/False döndürür. İkinci parametresi: 1.parametrenin gönderdiği değer True ise 2. parametreyi yaz.Üçüncü parametresi: 1.parametrenin gönderdiği değer False ise 3.parametreyi yaz.

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.