Я хочу преобразовать обнуляемый DateTime ( DateTime?
) в DateTime
, но я получаю ошибку:
Не удается неявно преобразовать тип 'System.DateTime?' в «System.DateTime». Существует явное преобразование (вам не хватает приведения?)
Я попытался следующее:
DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null
? DateTime.Now : _objHotelPackageOrder.UpdatedDate;
memDateLogin = m.memDateLogin ?? DateTime.MinValue
MS уже сделала метод для этого, так что вам не нужно использовать оператор объединения нулей. Нет различий в функциональности, но неспециалистам легче понять происходящее с первого взгляда.
источник
Попробуй это
источник
Вы можете использовать простое приведение:
Как сказал Леандро Тупоне, вы должны проверить, является ли переменная нулевой, прежде чем
источник
Вам нужно вызвать свойство Value обнуляемого DateTime. Это вернет DateTime.
Предполагая, что
UpdatedDate
это такDateTime?
, тогда это должно работать:Чтобы сделать код немного проще для чтения, вы можете использовать свойство HasValue вместо
null
проверки:Это можно сделать еще более кратким:
источник
Как насчет следующего:
источник
Вот фрагмент, который я использовал в Presenter, заполняя представление со значением Nullable Date / Time
источник
Вы также можете попробовать Nullable (T) Свойства :
источник
Рассмотрите возможность использования следующего, который намного лучше, чем принятый ответ
источник
Попробуй это:
источник
источник