DateTime.MinValue VS新的DateTime()在C# [英] DateTime.MinValue vs new DateTime() in C#

查看:442
本文介绍了DateTime.MinValue VS新的DateTime()在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当越来越SQL日期时间ReSharper的建议使用新的DateTime()当值 DBNull.Value 。我一直使用 DateTime.MinValue 。这是正确的方法是什么?



 的DateTime VARDATA = sqlQueryResult [数据]是的DateTime? (DATETIME)sqlQueryResult [数据]:新的DateTime(); // MSDN:


解决方案

从的 DateTime.MinValue 的文档:




MINVALUE定义被分配到一个未初始化的日期时间可变的日期和时间。




因此,得到的日期将是相同的。由于的DateTime 是值类型,这两个选项应该是等价的。就个人而言,我更喜欢写 DateTime.MinValue ,因为它是自我记录



PS:你可能想考虑使用可空类型的DateTime? ),如果你的数据可以包含(有意义)空值。


When getting SQL DateTime Resharper suggests to use new DateTime() when value is DBNull.Value. I've always used DateTime.MinValue. Which is the proper way?

DateTime varData = sqlQueryResult["Data"] is DateTime ? (DateTime) sqlQueryResult["Data"] : new DateTime();

解决方案

From the documentation of DateTime.MinValue:

MinValue defines the date and time that is assigned to an uninitialized DateTime variable.

Thus, the resulting date will be the same. Since DateTime is a value type, both options should be equivalent. Personally, I prefer to write DateTime.MinValue, since it's self-documenting.

PS: You might want to consider using nullable types (DateTime?), if your data can contain (meaningful) null values.

这篇关于DateTime.MinValue VS新的DateTime()在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆