为什么我们需要日期时间和日期时间?

时间:2019-04-17 06:30:25

标签: c# .net

我想知道我们可以在Datetime之前为Datetime分配null吗? (可空)然后为什么我们想要C#中的所有东西都可以停止此Datetime并设置Datetime?作为我们的默认数据类型,无论出于什么原因,我们都同时关注

1 个答案:

答案 0 :(得分:1)

您有两个问题,应该将其发布为两个问题。您的第1个问题已在评论中得到回答。

第2个问题。如果您希望DateTime默认接受null,则将在框架中进行更改。 DateTime is a struct,这是一种值类型。如果您希望DateTime在不声明DateTime?的情况下接受null,则需要将其作为类而不是struct。

框架作者为数据结构尽可能选择struct,以尽可能避免开销。 struct是一个值类型(如intlongbyte),位于堆栈上,因此与类相比不会分配内存。

因此,很难协商使DateTime成为类而不是结构。否则,C#1.0将只是Visual Studio的Java :) C#的前提之一是通过为开发人员提供在值类型(structintlongbyte)和参考类型(class