语法错误时使用if语句的日期时间?变量

本文关键字:日期 时间 变量 语句 if 错误 语法 | 更新日期: 2023-09-27 18:16:14

我得到一个语法错误时,试图编译这段代码,我不太确定为什么。有人能帮我修复这个代码吗?

DateTime? ModifiedDate = null;
ModifiedDate = (dbReader["ModifiedDate"] == DBNull.Value ? null : DateTime.Parse(dbReader['ModifiedDate'].ToString()));

语法错误时使用if语句的日期时间?变量

当涉及到条件操作符时,条件的两边应该返回相同的类型(或相互隐式转换的类型)。

现在null不是一个特定的类型,这是问题的一部分-你需要cast它的DateTime?,以便它将匹配另一边-这有另一个问题:你使用'而不是" .

. . .面的命令可以工作:
DateTime? ModifiedDate = 
               dbReader["ModifiedDate"] == DBNull.Value ? 
                          (DateTime?)null : 
                          DateTime.Parse(dbReader["ModifiedDate"].ToString());
DateTime? ModifiedDate = dbReader["ModifiedDate"] == DBNull.Value ? (DateTime?)null : DateTime.Parse(dbReader["ModifiedDate"].ToString());

您不小心使用了字符分隔符而不是字符串分隔符。它在上面是固定的。