Оператор ?? C#

Что это за оператор такой? Зачем он нужен?

?? - это оператор "null-объединения". Внешне он немного напоминает тернарный оператор, но идея его совершенно иная.

Имеем конструкцию: [операнд1] ?? [операнд2].

Оператор ?? возвращает значение операнда1 если он НЕ равен нулю. В противном же случае будет возвращено значение операнда2.

Используется этот оператор когда мы имеем дело с nullable типами, тобишь с типами, допускающими значение null. С его помощью можно очень просто проверить является ли наша переменная null, или там есть какое-то значение. Хотя честно говоря, мне ещё не приходилось встречать его в реальном проекте)