【发布时间】:2012-12-07 02:51:23
【问题描述】:
是否有理由选择其中之一?
DateTime myDate = new DateTime();
或
DateTime myDate = default(DateTime);
两者相等1/1/0001 12:00:00 AM。
【问题讨论】:
-
等于
DateTime.MinValue,所以你也可以只做DateTime myDate = DateTime.MinValue:/ -
@Lloyd 大多数时候......但不是作为默认参数 DateTime.MinValue 不是编译时间常数 - 但 default(DateTime)/new DateTime() 是。
-
只是为了澄清@Ricibob 的出色评论,因为它很重要:如果您正在创建一个带有可选参数的方法,您只能使用
default(DateTime)或new DateTime()。这两个都是编译时常量,是可选参数值所必需的。如果不需要编译时常量,则default(DateTime)、new DateTime()和DateTime.MinValue可以互换。