我需要检查一个DateTime
值是否有值。
我有几个选项:
if (dateTime == default(DateTime))
或者if (dateTime == DateTime.MinValue)
或者使用可空的 DateTime?
if (nullableDateTime.HasValue)
就我个人而言,我更喜欢第三种版本,因为它非常易读。 但是在我们的数据库中,有一些日期时间列被定义为非空。 因此,在某些情况下,我必须使用前两个选项。
我在某个地方读到过,当使用泛型时应该使用default
关键字,但在这种情况下,使用第二个选项是否更易读? 当使用第二个选项时,我必须知道新的、空的DateTime实例的默认值是DateTime.MinValue,这对我来说有一种实现细节的感觉。
那么,我应该使用哪个选项来使用“最佳实践”呢?