?? operatörü

(?? Operatörü sayfasından yönlendirildi)

?? operatörü ya da birleşme operatörü herhangi bir değere sahip olmayan değişkenlere öntanımlı bir değer atamak için kullanılan ikili işleçtir.

Koşullu atama değiştir

Muhtemel boş değişkene bakılır, true veya false kontrolü yapılır. İkili matematik kontrolüne dayanarak, muhtemel boş değişken boş ise öntanımlı değer, değilse muhtemel boş değişken gönderilir. Fonksiyonel programlamada kullanılan ?: operatörüne benzer.

Bu operatörün en sık kullanım sebebi boş kontrolü yapılan satırlardaki kod miktarını azaltmaktır. Örnek olarak, C#'ta bir sayfanın "Title" değeri boş ise başka bir değer atayarak değiştirmek için şu kod kullanılır:

// en kısa yol
string SayfaBaşlığı = öncedenAtanmışBaşlık ?? "Öntanımlı Başlık";

// daha uzun bir yol
string SayfaBaşlığı = öncedenAtanmışBaşlık == null ? "Öntanımlı Başlık" : öncedenAtanmışBaşlık;

// bir if-else parçacığı kullanan yol
string SayfaBaşlığı;
 
if (öncedenAtanmışBaşlık == null)
    SayfaBaşlığı = "Öntanımlı Başlık";
else
    SayfaBaşlığı = öncedenAtanmışBaşlık;

Dış bağlantılar değiştir