回答:
これを試して
DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;
単純なキャストを使用できます。
DateTime dtValue = (DateTime) dtNullAbleSource;
Leandro Tuponeが言ったように、前に変数がnullかどうかを確認する必要があります
null可能なDateTimeのValueプロパティを呼び出す必要があります。これは、DateTimeを返します。
それUpdatedDate
がDateTime?
であると仮定すると、これはうまくいくはずです:
DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;
コードを少し読みやすくするには、チェックの代わりにHasValueプロパティを使用できますnull
。
DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue
? _objHotelPackageOrder.UpdatedDate.Value
: DateTime.Now;
これにより、さらに簡潔にすることができます。
DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;
次はどうですか:
DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue ? _objHotelPackageOrder.UpdatedDate.value : DateTime.Now;
Nullable(T)プロパティを試すこともできます。
DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue
? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;
これを試して:
DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;
DateTime UpdatedTime = _objHotelPackageOrder.HasValue ? _objHotelPackageOrder.UpdatedDate.Value : DateTime.Now;
memDateLogin = m.memDateLogin ?? DateTime.MinValue