如何将null作为DateTime值传递?
问题描述:
在数据库中有一个保存结束日期的字段。只有在案件被关闭的情况下,该日期才可以不为NULL。如果案件未关闭,则必须为空。我如何将空值传递给DateTime对象?如何将null作为DateTime值传递?
试过这个,但它不起作用。
DateTime closure= dateDatumIspisa.SelectedDate ?? null;
DateTime closure= dateDatumIspisa.SelectedDate ?? DateTime.Parse("");
DateTime closure= dateDatumIspisa.SelectedDate ?? DBNull.Value;
DateTime closure= dateDatumIspisa.SelectedDate ?? DateTime.Parse(DBNull.Value.ToString());
也试过GetValueOrDefault()但它插入DateTime.Min值,而我需要这个字段留空。
有什么建议吗?
答
申报
DateTime ? closure = dateDatumIspisa.SelectedDate;
在这里没有必要使用?在这一行!
答
只是使closure
a DateTime?
而不是DateTime
。 Nullable<T>
的全部要点是从一个不可为空的类型构造一个可为空的类型。
现在,您还没有显示SelectedDate
的类型 - 但是如果它已经是DateTime?
,那么根本不需要使用??
。只是:
DateTime? closure= dateDatumIspisa.SelectedDate;
您对可空值类型的一般熟悉程度如何?您可能需要阅读MSDN coverage of them。