如果它有一個值,我需要檢查一個DateTime
的值。如何檢查默認的DateTime值?
我有幾種選擇:
if (dateTime == default(DateTime))
或
if (dateTime == DateTime.MinValue)
,或者使用一個可爲空DateTime?
if (nullableDateTime.HasValue)
我個人比較喜歡的第三個版本,因爲它的相當不錯的可讀性。 但在我們的數據庫中,我們有一些日期時間列被定義爲非空。 因此,在某些情況下,我必須選擇前兩個選項。
我在某處讀到了在使用泛型時應該使用default
關鍵字,但在這種情況下它不是更具可讀性嗎?當使用第二個選項時,我必須知道新的和空的DateTime實例的默認值是DateTime.MinValue,它具有我實現細節的氣味。
那麼我應該使用哪種選項來使用「最佳實踐」?
在代碼塊後的第一句話中,你的意思是「第二版」,還是你的意思是「第三版」? – 2013-04-29 14:49:14
更新了它;)我的意思是第三個版本,因爲該屬性清楚地解釋了我打算檢查的內容:如果該變量的值爲 – dasheddot 2013-04-29 14:50:10
而當它在那個最短日期實際上發生了什麼? – Servy 2013-04-29 14:52:12