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

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

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




9407  kez okundu.

Online Kullanıcı Sayısı 180