“DateTime?”是什么?在C#中意味着什么? [英] What does "DateTime?" mean in C#?
问题描述
我正在读一本.Net书,在其中一个代码示例中有一个这个字段的类定义:
private DateTime? startdate
DateTime?
是什么意思? / p>
由于 DateTime
是一个 code>,而不是一个
类
,你得到一个 DateTime
对象当您声明该类型的字段或变量时,引用。而且,与 int
不能 null
相同,所以这个 DateTime
object never not null,因为它不是一个引用。
添加问号将它变成一个 可空类型 ,这意味着 它是一个 DateTime
对象,或它是 null
Nullable
本身就是一个 struct
。
I am reading a .Net book, and in one of the code examples there is a class definition with this field:
private DateTime? startdate
What does DateTime?
mean?
Since DateTime
is a struct
, not a class
, you get a DateTime
object, not a reference, when you declare a field or variable of that type. And, in the same way as an int
cannot be null
, so can this DateTime
object never be null, because it's not a reference.
Adding the question mark turns it into a nullable type, which means that either it is a DateTime
object, or it is null
.
DateTime?
is syntactic sugar for Nullable<DateTime>
, where Nullable
is itself a struct
.
这篇关于“DateTime?”是什么?在C#中意味着什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!