我今天注意到,如果您聲明一個可爲空的DateTime對象,那麼您不會獲得與具有標準DateTime對象時所做的功能相同的一組函數。.NET中的可空類型缺少方法
例如:
DateTime? nullableDT = DateTime.Now;
DateTime regularDT = DateTime.Now;
上面nullableDT的代碼不能使用任何的以下功能
:
ToFileTime
ToFileTimeUtc
ToLocalTime
ToLongDateString
ToLongTimeString
ToOADate
ToShortDateString
ToShortTimeString
ToString(IFormatProvider)
ToString(String)
ToString(String, IFormatProvider)
ToUniversalTime
這是短列表中,目前沒有可用的更多的方法。
爲什麼.NET的行爲如此呢?我通過在我的可空日期周圍拋出Convert.ToDateTime()
來解決這個問題,但這似乎很糟糕...有更好的方法嗎?
您也可以考慮使用'可空 .GetValueOrDefault()''如果是HasValue'虛假不引發InvalidOperationException。 –
codekaizen
2010-09-30 00:10:17