Как вы знаете, DateTime?
не имеет параметризованного ToString
(для форматирования вывода) и делает что-то вроде
DateTime? dt = DateTime.Now;
string x;
if(dt != null)
x = dt.ToString("dd/MM/yyyy");
будет бросать
Нет перегрузки для метода 'ToString' принимает 1 аргумент
Но, поскольку С# 6.0 и оператор Elvis (?.
), вышеуказанный код можно заменить на
x = dt?.ToString("dd/MM/yyyy");
который... работает! Почему?