我正在阅读一本.NET书籍,其中一个代码示例中有一个包含此字段的类定义:
private DateTime? startdate
DateTime?
是什么意思?
我正在阅读一本.NET书籍,其中一个代码示例中有一个包含此字段的类定义:
private DateTime? startdate
DateTime?
是什么意思?
因为DateTime
是struct
,而不是class
,所以当你声明一个字段或变量时,你会得到DateTime
object,而不是reference.
就像int
不能是null
一样,所以这个DateTime
对象永远不能是null
,因为它不是一个参考.
加上问号将其变成nullable type,这意味着either它是DateTime
对象,or它是null
.
DateTime?
是Nullable<DateTime>
的句法糖,而Nullable
本身就是struct
.