C# String Değişkenlerde Null ve Empty Farkı


Twitter'da Paylaş Favorilerime Ekle

String'lerin Boş Olup Olmaması 

String türündeki değişkenlerin boş mu dolu mu olduklarını anlamak istediğimizde bir karışıklık yaşayabiliriz. Burada karşımıza çıkabilecek ihtimalleri açıklayalım.

string a;

Şu anda a değişkeni tanımlanmış fakat hiç bir atama yapılmamıştır. Bu yüzden a değişkeni null'dur.

a=""; 

Burada a değişkeninin içinin boş olacağı belirtilmiştir. Fakat a değişkeni artık null değildir. Çünkü boş da olsa bir atama gerçekleşmiştir. a değişkeni empty'dir.

Bir string değişkeninin empty olup olmadığını şu iki şekilde kontrol edebiliriz. 

if ( a =="") veya if ( a == string.empty ) ifadeleri aynı anlama gelir ve değişkenin içinin boş olup olmadığını anlamamızı sağlar.

a="  "; 

Burada ise a değişkeni boş değil doludur çünkü bir tane boşluk karakteri atanmıştır. Boşluklar da birer karakterdir.

Yandaki örneği inceleyiniz.

Not: Ayrıca IsNullOrEmpty fonksiyonunu da inceleyebilirsiniz. (Tıklayınız.)

string.empty, string null, string boş mu, string boş olduğunu anlamak, stringin boş olup olmadığı, string boş mu dolu mu

KONU İLE İLGİLİ ÖRNEKLER

C# String değişkenlerde null ile empty farkı

string[] numaralar = new string[5];

numaralar[0] = "534";
numaralar[2] = "115";
numaralar[3] = "";
Yukarıda 5 elemanlı numaralar dizisi tanımlanmış ardından bazı elemanlarına değer atanmıştır. 0 ve 2 nolu elemanlara değer ataması yapılmış, 3 nolu eleman empty olarak belirlenmiş, 1 ve 4 nolu elemanlar ise null olarak bırakılmış yani hiç atama yapılmamıştır.
Dizinin tüm elemanlarını label içerisine yazdırırken boş elemanlar için "-" konmasını sağlamak için farklı yöntemler deneyelim:
foreach (string i in numaralar)
{
if ( i == null ) label1.Text += "-\n";
else label1.Text += i + "\n";
}
Yukarıdaki döngü sadece null olan elemanlar için "-" konmasını sağlar. Yani 1 ve 4 nolu elemanlar için "-" konacaktır.
foreach (string i in numaralar)
{
if ( i=="" ) label1.Text += "-\n";
else label1.Text += i + "\n";
}

Yukarıdaki döngü sadece empty olan elemanlar için "-" konmasını sağlar. Yani 3 nolu eleman için "-" konacaktır.

foreach (string i in numaralar)
{
if (i == null || i=="") label1.Text += "-\n";
else label1.Text += i + "\n";
}

Burada ise null veya empty olan elemanlar için "-" konacak, yani 1, 3 ve 4 nolu elemanlar için "-" konacaktır.


YORUMLAR



Visual C# Dersine Ait Diğer Konular: