2010-10-06 51 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) ...