首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >new DateTime()与default(DateTime)

new DateTime()与default(DateTime)
EN

Stack Overflow用户
提问于 2012-12-20 01:19:46
回答 4查看 241.1K关注 0票数 224

有理由选择其中一个而不是另一个吗?

代码语言:javascript
复制
DateTime myDate = new DateTime();

代码语言:javascript
复制
DateTime myDate = default(DateTime);

它们都是相等的1/1/0001 12:00:00 AM

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-20 01:20:46

不,它们是一样的。

对于任何值类型(DateTime是值类型),default()将始终调用无参数构造函数。

票数 225
EN

Stack Overflow用户

发布于 2015-11-17 16:28:36

如果要对方法中的DateTime参数使用默认值,则只能使用默认值(DateTime)。

下面的代码行不会编译:

代码语言:javascript
复制
    private void MyMethod(DateTime syncedTime = DateTime.MinValue)

下面这一行将编译:

代码语言:javascript
复制
    private void MyMethod(DateTime syncedTime = default(DateTime))
票数 24
EN

Stack Overflow用户

发布于 2014-06-30 01:05:21

答案是否定的。请记住,在这两种情况下,mdDate.Kind = DateTimeKind.Unspecified

因此,执行以下操作可能会更好:

代码语言:javascript
复制
DateTime myDate = new DateTime(1, 1, 1, 0, 0, 0, DateTimeKind.Utc);

myDate.Kind属性是只读的,因此在调用构造函数后无法更改。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13957701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档