如何解决尝试将日期时间变量值设置为空
我正在尝试将null
的值归因于DateTime类型的变量。
在模型类值中采用的属性为
public DateTime? ClosedOn = null;
在控制器端读取它时,我正在使用以下代码:
member.ClosedOn = reader[6].ToString().Equals(dbnull.Value)|| reader[6].ToString().Equals("") ? null: Convert.ToDateTime(reader[6].ToString());.
但是我遇到了以下错误:
“条件表达式的类型无法确定,因为存在
之间没有隐式转换null
和DateTime
任何想法都会受到赞赏。
解决方法
该消息告诉您编译器无法仅根据null
确定类型,但是您可以使用(DateTime?) null
:
member.ClosedOn = reader[6].ToString().Equals(DBNull.Value) ||
reader[6].ToString().Equals("")
? (DateTime?) null
: Convert.ToDateTime(reader[6].ToString());
类似地,由于null
是可为空类型的默认值,因此您还可以使用:default(DateTime?)
而不是null
:
member.ClosedOn = reader[6].ToString().Equals(DBNull.Value) ||
reader[6].ToString().Equals("")
? default(DateTime?)
: Convert.ToDateTime(reader[6].ToString());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。