DateTime可以为null吗?

可能重复:
DateTime“null”值

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

DateTime是一个值类型 ,就像intdouble ,没有有意义的null值。

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

 Dim d As DateTime = Nothing 

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

 DateTime d = default(DateTime); 

…相当于DateTime.MinValue

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

 DateTime? myDate = null; 

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

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

不,你不能为DateTime是一个值类型。

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

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

但是,您可以使用Nullable.

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

通常DateTime不能为null,因为它是一个Value Type,但是使用C#2中引入的可空运算符,你可以完成这个