可能重复:
DateTime “null” value
是否可以将datetime对象设置为null?
答案 0 :(得分:43)
DateTime
是value type,与int
和double
一样,没有任何有意义的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中引入的可空操作符,你可以完成这个