我有一个我使用的DateTime结构,sombody注释掉它创建的部分(但未声明)当我使用它时,myDate.DayOfWeek == DayOfWeek.Monday返回true。
如果创建它的部分被注释掉了,它怎么能告诉我它是星期一,而不是抛出一些例外?
答案 0 :(得分:5)
DateTime
是值类型(struct
),因此它始终具有值。它不能像引用类型null
那样。如果尚未分配值类型的变量,则会根据类型将其初始化为某个默认值。 DateTime
的默认值恰好是.NET使用的日历中的星期一。
当然,过去日历已经多次改变,过去使用我们当前的日历超过几百年只是不起作用,但对于.NET来说,这是一个星期一。
答案 1 :(得分:4)
DateTime
是一个结构,意味着它必须具有某种默认值。 DateTime
的默认值为DateTime.MinValue
,即0001年1月1日,即星期一。