Ana içeriğe atla

C# Nullable ve HashValue Nedir? Nasıl Kullanılır?

C# programlama dilinde değişken tanımlarken ve kullanırken dikkat etmemiz gereken noktalardan bir tanesi de tanımladığımız değişkenin içeriğinin NULL olma durumunun kontrol edilmesidir. Özellikle veri tabanından gelen verilerin, client tarafından gelen istek içeriklerinin NULL olma olasılığı çok fazladır. Bu da kontrol edilmezse özellikle değer tipli değişkenlerle çalışırken hatalara yol açabilir. Bu sorunu çözmek için kullanılan yöntem Nullable veya T? Yapısını kullanmaktır. T yerine değer tipli değişken türlerini yazabilirsiniz. Örneğin: Nullable veya int? , Nullable veya long? Nullable ile birlikte kullanabileceğiniz değişken türlerine "int", "long", "float", "double", "decimal", "char", "bool", "byte", "short", "struct", "enum", “DateTime”  örnek verilebilir. Değişken tanımlarken örneğin int türüne NULL değeri atarsanız kullandığınız IDE size hata verecektir. Bu sorunun sözümü de değişkeni Nullable türünde tanımlamaktır. Integer bir değişken için int? _degisken = null şeklinde bir yazılımı tercih edebilirsiniz.  Bu yapı referans tipleri dışında bütün değişken tanımlamaları için kullanılabilir. Referans değişkenleri doğal olarak NULL değerini desteklediği için, zaten bu yapıyı kullanmaya gerek te yok…  Özetle Nullable nedir diye soracak olursanız, bu yapı değer tipli değişkenleriniz NULL değerine sahip olduğunda size bir kontrol mekanizması sunar. Bu kontrol mekanizmasından bir tanesi de HashValue’dir. Bu özellik değişkeninin o andaki değerinin NULL olup olmamasını bool değer olarak geri döndürür. İsterseniz bu konuyu bir örnek üzerinden inceleyelim:

int? degisken = null;
if (degisken.HasValue)
{
   System.Console.WriteLine("Değişken = " + degisken.Value);
}
else
{
  System.Console.WriteLine("Değişken = Null");
}
Örneğin HashValue yapısını anlatabildiğini düşünüyorum. Biraz da açıklayacak olursak degisken.HasValue bize bool bir değer döndürür. Bu değişkenimiz içiriği NULL mı? Değil mi? Sorusunun da yanıtı. Özetle HashValue özelliği bir değişkenin null olup olmadığını bize söyler. Bu yapı aynı zamanda tüm nesne türleri, değişken türleri ile birlikte kullanılabilir. 
Eğer içeriği Null olan degisken değerini, int ikinciDegisken = dekisken. Value veya  atamaya çalışırsanız System.InvalidOperationException hatası alacaksınız. Bunun çözümü ise, 
int ikinciDegisken = dekisken.GetValueOrDefault(); 
şeklinde kullanımı tercih etmenizdir. 

Yorumlar

Bu blogdaki popüler yayınlar

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4