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