DateTime.MinValue与C#中的新DateTime()

Mad*_*Boy 10 c# sql-server datetime

获取SQL DateTime Resharper建议new DateTime()在值为时使用DBNull.Value.我一直都在用DateTime.MinValue.哪种方法适当?

DateTime varData = sqlQueryResult["Data"] is DateTime ? (DateTime) sqlQueryResult["Data"] : new DateTime();
Run Code Online (Sandbox Code Playgroud)

Hei*_*nzi 18

DateTime.MinValue的文档:

MinValue定义分配给未初始化的DateTime变量的日期和时间.

因此,结果日期将是相同的.由于DateTime是值类型,因此两个选项应该是等价的.就个人而言,我更喜欢写作DateTime.MinValue,因为它是自我记录的.

PS:如果您的数据可以包含(有意义的)空值,您可能需要考虑使用可空类型(DateTime?).