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

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

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

慕村9548890 2019-10-30 11:18:38
我正在阅读一本.Net书,在其中的一个代码示例中,具有此字段的类定义:private DateTime? startdate什么DateTime?意思
查看完整描述

3 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

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


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


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


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


查看完整回答
反对 回复 2019-10-30
?
繁花如伊

TA贡献2012条经验 获得超12个赞

这是可以为空的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-10-30
  • 3 回答
  • 0 关注
  • 2365 浏览

添加回答

举报

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