2010-10-06 86 views

回答

2

可空DateTime类型,你可以对空比较是这样的:

DateTime? d = null; 
if (d == null) 
    //do something 

对于非可空DateTime类型,你可以比较默认MinValue

DateTime d2; 
if (d2 == DateTime.MinValue) 
    //do something else 
1

一个DateTime是一个值类型,所以它不能为空。您的变量是否实际输入为DateTime

0

它defaultly初始化为DateTime.MinValue,所以你应该只检查(除非它是DateTime?类型):

if (MyDateTime==DateTime.MinValue) 
... 
0
if !d.HasValue 

hasValue的是存在于所有制造,可空类型的属性。 (基本上是泛型类可为空)

0

DateTime是一个值类型,因此它不能为空/空。 (请参阅this msdn entry以供参考)。

默认情况下它会得到DateTime.MinValue的值,所以你可以检查它是否等于那个,但它不是最好的解决方案。

最好的解决方案是创建一个这种类型的Nullable变量。语法如下:

Nullable<DateTime> myNullableDate = ... 
if(myNullableDate.HasValue) ... 

您还可以使用问号,这样一来,这是一个有点简单阅读:

DateTime? myNullableDate = ... 
if(myNullableDate.HasValue) ...