将if语句用于DateTime时出现语法错误?变量

fle*_*sod 0 .net c# asp.net visual-studio

尝试编译此代码时出现语法错误,我不太清楚为什么.任何人都可以帮我修复这段代码吗?

DateTime? ModifiedDate = null;

ModifiedDate = (dbReader["ModifiedDate"] == DBNull.Value ? null : DateTime.Parse(dbReader['ModifiedDate'].ToString()));
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 8

当涉及条件运算符时,条件的两端应返回相同的类型(或可以隐式转换为彼此的类型).

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

以下将有效:

DateTime? ModifiedDate = 
               dbReader["ModifiedDate"] == DBNull.Value ? 
                          (DateTime?)null : 
                          DateTime.Parse(dbReader["ModifiedDate"].ToString());
Run Code Online (Sandbox Code Playgroud)