簡體   English   中英

奇怪的.Net日期時間問題

[英]Strange .Net datetime issue

設置三元組

DateTime filterDate = endDate.HasValue ? endDate.Value : DateTime.Now.AddDays(7);

非三元

DateTime filterDate;
if (endDate.HasValue)
    filterDate = endDate.Value;
else
    filterDate = DateTime.Now.AddDays(7);

如果調試這兩個語句,filterDate的值將不相同。 為什么是這樣?

在第一個示例中,filterDate的最終值為01/01/0001。 在第二個例子中,我得到了預期的結果,即filterDate是未來7天的日期時間。

編輯:此時我甚至嘗試設置endDate = null只是為了確保,這是一個屏幕截圖顯示發生了什么。 alt text http://www.freeimagehosting.net/uploads/57bef2e50a.png

我見過的最奇怪的事情。

看起來endDate正在初始化為DateTime.MinValue,你能顯示你聲明endDate的代碼嗎?

還有一個更短的方式:

DateTime filterDate = endDate ?? DateTime.Now.AddDays(7);

我無法重現這一點。 在任何情況下,這是這樣做的首選方式:

DateTime filterDate = endDate ?? DateTime.Now.AddDays(7);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM