Вопросительный Знак (?) после ссылки на переменную сеанса-что это значит

У меня был фрагмент кода, который нужно изменить. Там я нашел такой синтаксис.

Session("LightBoxID")?.ToString()

Я не понял, что это за вопросительный знак (?) есть средства. Никакой гуглинг не помог мне ни о каком намеке

2 ответов


он выполняет null-проверка на Session("LightBoxID") перед попыткой позвонить .ToString() на нем.

MSDN:null-условные операторы (C# и Visual Basic)


Это оператор Это синтаксический сахар для проверки null:

return str?.ToString();

станет

if (str == null)
{
    return null;
}
return str.ToString();