如何检查DateTime字段是否为空或空?

我是C#的新手,我有一个疑问。

在我正在工作的应用程序中,我在代码中找到了类似的东西:

if (!String.IsNullOrEmpty(u.nome)) 

此代码只是检查u对象的nome字段是否不是空的\ null字符串。

好的,这对我来说非常清楚,但是如果字段不是字符串但是DateTime对象,我该怎么做呢?

如果声明DateTime,则默认值为DateTime.MinValue,因此您必须像这样检查它:

 DateTime dat = new DateTime(); if (dat==DateTime.MinValue) { //unassigned } 

如果DateTime可以为空,那么这是一个不同的故事:

  DateTime? dat = null; if (!dat.HasValue) { //unassigned } 

DateTime不是标准的可空类型。 如果要为DateTime类型的变量赋值null,则必须使用DateTime? 支持null值的类型。

如果您只想测试要设置的变量(例如变量保持非默认值),您可以使用关键字“default”,如下面的代码:

 if (dateTimeVariable == default(DateTime)) { //do work for dateTimeVariable == null situation }