Daha önce kullandınızmı bilmiyorum fakat ternary
operatörünün bir fan’ ı olarak C# 2.0 ile birlikte gelen null Coalescing
Operator açıkçası çok hoşuma gitti.
Ternary Operatörünü hepimiz zaten bolca kullanmaktayız :
string Sonuc = (KullaniciAdi == null) ? “Kullanıcı Adı
Bulunamadı” : KullaniciAdi;
Bu expression ‘ ı null Coalescing Operator ile çok daha kısa
şekilde ifade edebiliyorsunuz.
string Sonuc = KullaniciAdi ??
“Kullanıcı Adı Bulunamadı”;
Mantık şudur ki eğer işin içerisinde null kontrolü varsa
compiler ilk operand’ ın null olup olmadığını kontrol ediyor.
Eğer ilk operand null değilse expression’ ın sonucu
ilk operand oluyor. Eğer null ise sonuç ikinci operand oluyor.

Genelde kullandığımız klasik Entity katmanında çok işe
yarıyor.
Musteri adında bir entity sınıfımız ve ID üzerinden Musteri
getiren bir Facade metodumuz olsun.
olduğunu düşünelim.
Musteri mst = GetMusteriByID(id) ?? new Musteri();
Eğer
metodun sonucu null değil ise mst’ ye metotdan dönen instance atanıyor. null
ise new Musteri(); çalıştırılıyor. 