讓我們看看會發生什麼,當你嘗試創建一個DateTime爲虛無
Dim dt As DateTime = Nothing
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss.fffffff"))
我們得到「0001-01-01 00 :00:00.0000000" 。這是可以用DateTime表示的最早日期時間。它不能保持Nothing
的「值」,因爲它是值類型:Why is null not allowed for DateTime in C#?。
讓我們試着加1點:
dt.Add(New TimeSpan(1))
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss.fffffff"))
哦!我們再次獲得「0001-01-01 00:00:00.0000000」。滴答聲未添加。這是因爲Add
方法返回一個新的DateTime - 它不影響Add
被調用的方法。
讓我們再試一次:
dt = dt.Add(New TimeSpan(1))
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss.fffffff"))
現在,我們得到 「0001-01-01 00:00:00.0000001」,如預期。
如果我們嘗試早於第一個允許的DateTime,會發生什麼情況?
Dim dt As DateTime = Nothing
dt = dt.Subtract(New TimeSpan(1))
它引發System.ArgumentOutOfRangeException。
顯示您嘗試過的代碼並解釋問題 –
請添加您的代碼並將其放在[代碼]標籤之間,在格式幫助中進行說明。並告訴我們到底發生了什麼,以及你預期會發生什麼。 – DrDonut
感謝您的回覆。 對不起,我自己解決了這個問題。 –