一尘不染

DateTime“空”值

c#

我一直在搜索很多,但是找不到解决方案。如何处理应该能够包含未初始化值(等于null)的DateTime?我有一个可能设置了DateTime属性值的类。我正在考虑将属性持有者初始化为DateTime.MinValue,然后可以轻松地对其进行检查。我想这是一个很常见的问题,您该怎么做?


阅读 223

收藏
2020-05-19

共1个答案

一尘不染

对于普通的DateTimes,如果您根本不初始化它们,则它们将匹配DateTime.MinValue,因为它是一个值类型而不是引用类型。

您还可以使用可为空的DateTime,如下所示:

DateTime? MyNullableDate;

或更长的形式:

Nullable<DateTime> MyNullableDate;

最后,有一种内置的方式可以引用任何类型的默认值。这将返回null引用类型,但对于我们的DateTime示例,它将返回与相同的结果DateTime.MinValue

default(DateTime)

或者,在最新版本的C#中,

default
2020-05-19