我有一個DateTime結構我使用,sombody註釋了它創建的部分(但未聲明)當我使用它時,myDate.DayOfWeek == DayOfWeek.Monday回覆真實。爲什麼未初始化的DateTime結構告訴我它是星期一
如果它創建的部分被註釋掉了,它怎麼能告訴我它是星期一,而不是拋出一些異常?
我有一個DateTime結構我使用,sombody註釋了它創建的部分(但未聲明)當我使用它時,myDate.DayOfWeek == DayOfWeek.Monday回覆真實。爲什麼未初始化的DateTime結構告訴我它是星期一
如果它創建的部分被註釋掉了,它怎麼能告訴我它是星期一,而不是拋出一些異常?
DateTime
是一個值類型(struct
),因此它始終有一個值。它不能像參考類型那樣是null
。當值類型的變量尚未分配時,根據類型將其初始化爲某個默認值。 DateTime
的默認值恰好是.NET使用的日曆中的星期一。
當然,日曆在過去發生了很多次變化,將現在的日曆應用到過去的幾百年中並不起作用,但對於.NET來說,這是一個星期一。
DateTime
是一個結構,它意味着它必須具有某種默認值。 DateTime
的默認值是DateTime.MinValue
,即0001年1月1日,這是一個星期一。
+1,是的。那麼,解決它。一週的第一天必須是星期一,而不是星期天。 – 2010-09-20 15:20:47