我想知道我们可以在Datetime之前为Datetime分配null吗? (可空)然后为什么我们想要C#中的所有东西都可以停止此Datetime
并设置Datetime?作为我们的默认数据类型,无论出于什么原因,我们都同时关注
答案 0 :(得分:1)
您有两个问题,应该将其发布为两个问题。您的第1个问题已在评论中得到回答。
第2个问题。如果您希望DateTime默认接受null,则将在框架中进行更改。 DateTime is a struct,这是一种值类型。如果您希望DateTime
在不声明DateTime?
的情况下接受null,则需要将其作为类而不是struct。
框架作者为数据结构尽可能选择struct
,以尽可能避免开销。 struct
是一个值类型(如int
,long
,byte
),位于堆栈上,因此与类相比不会分配内存。
因此,很难协商使DateTime
成为类而不是结构。否则,C#1.0将只是Visual Studio的Java :) C#的前提之一是通过为开发人员提供在值类型(struct
,int
, long
,byte
)和参考类型(class
)