Operator ten sprawdza nam czy wartość zmiennej lub obiektu posiada wartość null. Zobaczmy:

nazwa = firma ?? "brak"; 

Jeżeli zmienna firma będzie mieć wartość null, zmienna nazwa przyjmie wartość “brak”;

Ten sam efekt możemy uzyskać stosując instrukcję warunkową if:

if (firma != null)
  zmienna = firma;
else
  zmienna = "brak";

Zobaczmy przykład:

class Program
   {
       static void Main()
       {
           string firma = null;

           string nazwa = nazwa = firma ?? "brak";

           Console.WriteLine("Wartość zmiennej: " + nazwa);
           Console.ReadLine();
       }
   }

Rezultat działania aplikacji:

operator2

Rys. Rezultat działania aplikacji

Jak widzimy zmienna nazwa przyjęła wartość “Brak”.

Podsumowanie:
Operator ?? skraca kod gdy chcemy sprawdzić czy zmienna lub obiekt posiada wartość null.