为了账号安全,请及时绑定邮箱和手机立即绑定

在C#中,“ DateTime?”是什么意思?

在C#中,“ DateTime?”是什么意思?

C#
精慕HU 2019-12-15 12:12:38
我正在阅读一本.Net书,在其中的一个代码示例中,具有此字段的类定义:private DateTime? startdate什么DateTime?意思
查看完整描述

3 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

由于DateTime是a struct而不是a ,所以在声明该类型的字段或变量时会class得到一个DateTime 对象,而不是引用。


并且,就像a intcan be一样null,该DateTime对象也永远不会是null,因为它不是引用。


加入问号把它变成一个空类型,这意味着要么它是一个DateTime对象,或者它是null。


DateTime?是语法糖Nullable<DateTime>,Nullable本身在哪里struct?



查看完整回答
反对 回复 2019-12-16
?
弑天下

TA贡献1818条经验 获得超7个赞

这是可以为空的DateTime。?基本类型/结构后面的内容表示它是可为空的版本。


DateTime是一个永远不能为null的结构。从MSDN:


DateTime值类型表示日期和时间,其值的范围从0001年1月1日午夜12:00:00 0001 Anno Domini或AD(也称为Common Era或CE)到9999年12月31日晚上11:59:59公元(CE)


DateTime? 可以为null。




查看完整回答
反对 回复 2019-12-16
  • 3 回答
  • 0 关注
  • 224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信