DateTime可以为null吗?

时间:2010-09-03 12:26:07

标签: c# .net datetime object null

  

可能重复:
  DateTime “null” value

是否可以将datetime对象设置为null?

6 个答案:

答案 0 :(得分:43)

DateTimevalue type,与intdouble一样,没有任何有意义的null值。

在VB.NET中,您可以这样写:

Dim d As DateTime = Nothing

但所有这一切都是将d设置为默认 DateTime值。在C#中,等效代码是:

DateTime d = default(DateTime);

...相当于DateTime.MinValue

也就是说,有Nullable<T>类型,用于为任何值类型null提供T值。 C#中Nullable<DateTime>的简写为DateTime?

答案 1 :(得分:4)

DateTime? myDate = null;

问号会给你一个可以为空的类型。可以设置为其原始值或为null的那个。

DateTime本身就是一种值类型。它不能为空。

答案 2 :(得分:4)

不,你不能DateTime是值类型。

您可能希望查看Nullable<DateTime>(或简称DateTime?)

答案 3 :(得分:3)

否 - DateTime是C#中的结构,结构(值类型)不能为空。

但是,您可以使用Nullable<DateTime>.

答案 4 :(得分:2)

不,它的结构不是一个类。要么使它成为可空类型,例如System.DateTime的? myvalue的;或使用System.DateTime.MinValue作为哨兵。

答案 5 :(得分:2)

通常DateTime不能为null,因为它是一个值类型,但是使用C#2中引入的可空操作符,你可以完成这个