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

我正在阅读一本.Net书,在其中的一个代码示例中,具有此字段的类定义:


private DateTime? startdate

什么DateTime?意思


慕村9548890
浏览 2366回答 3
3回答

萧十郎

由于DateTime是a struct而不是a ,所以在声明该类型的字段或变量时会class得到一个DateTime 对象,而不是引用。并且,就像a intcan be一样null,该DateTime对象也永远不会是null,因为它不是引用。加入问号把它变成一个空类型,这意味着要么它是一个DateTime对象,或者它是null。DateTime?是语法糖Nullable<DateTime>,Nullable本身在哪里struct?

繁花如伊

这是可以为空的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。
打开App,查看更多内容
随时随地看视频慕课网APP