无法确定条件表达式的类型,因为“”和“System.DateTime”之间没有隐式转换 解决办法

时间:2021-01-29 03:37:33

无法确定条件表达式的类型,因为“<null>”和“System.DateTime”之间没有隐式转换----解决办法

        当在C#使用可空类型时要注意类型间的一致,出现上述和DateTime无法转换的问题就是没有注意类型间的一致,例如,当给一个可空的时间类型字段赋值时不能使用null,而要使用一个DateTime? 类型。

例子:(报错了)

  public DateTime? time { get; set; }

  time = item.HospOutDate.HasValue ? DateTime.Parse(item.HospOutDate.Value.ToString("yyyy-MM-dd HH:mm:ss")) : null;

错误提示:无法确定条件表达式的类型,因为“<null>”和“System.DateTime”之间没有隐式转换

 

解决办法:

添加: DateTime? TimeNull = null;

time = item.HospOutDate.HasValue ? DateTime.Parse(item.HospOutDate.Value.ToString("yyyy-MM-dd HH:mm:ss")) : TimeNull ;