DateTime“null”值

我一直在寻找很多,但找不到解决方案。 你如何处理应该能够包含未初始化值的DateTime(等于null)? 我有一个可能有DateTime属性值的类。 我正在考虑将财产持有人初始化为DateTime.MinValue,然后可以轻松进行检查。 我想这是一个很常见的问题,你怎么做?


对于正常的DateTime,如果你根本不初始化它们,那么它们将匹配DateTime.MinValue ,因为它是一个值类型而不是引用类型。

您也可以使用可空的DateTime,如下所示:

DateTime? MyNullableDate;

或者更长的形式:

Nullable<DateTime> MyNullableDate;

最后,还有一种内置的方式来引用任何类型的默认值。 这将为参考类型返回null ,但对于我们的DateTime示例,它将返回与DateTime.MinValue相同的DateTime.MinValue

default(DateTime)

如果您使用.NET 2.0(或更高版本),则可以使用可空类型:

DateTime? dt = null;

要么

Nullable<DateTime> dt = null;

然后:

dt = new DateTime();

您可以通过以下方式检查值:

if (dt.HasValue)
{
  // Do something with dt.Value
}

或者你可以像这样使用它:

DateTime dt2 = dt ?? DateTime.MinValue;

你可以在这里阅读更多:
http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx


约会时间? MyDateTime {获得;设置;}

MyDateTime = (drOrder["Field1"] == DBNull.Value) ? (DateTime?)null : ((DateTime)drOrder["Field1"]);
链接地址: http://www.djcxy.com/p/18513.html

上一篇: DateTime "null" value

下一篇: How to obtain the start time and end time of a day?