为了账号安全,请及时绑定邮箱和手机立即绑定

防止C#异常并找到更优雅的方法来检查可为空的值

防止C#异常并找到更优雅的方法来检查可为空的值

C#
慕标琳琳 2021-03-29 17:14:34
CreatedDate = meta.CreatedDate.HasValue ? meta.CreatedDate.Value.ToShortDateString : null这行代码引发异常“无法确定条件表达式的类型,因为方法组和null之间没有隐式转换。”有什么工作方法可以进行此检查和/或更优雅(更不难看)吗?笔记:myObject = (dynamic)new{    CreatedDate = meta.CreatedDate.HasValue ? meta.CreatedDate.Value.ToShortDateString : null}
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您缺少()用于方法调用的调用括号,ToShortDateString()就像调用我们需要的方法一样,因此,您的代码行应如下所示:

CreatedDate = meta.CreatedDate.HasValue ? meta.CreatedDate.ToShortDateString() : null ;

但是,如果您使用的是C#6,则可以通过null传播运算符执行以下操作:

String CreatedDate = meta.CreatedDate?.ToShortDateString();

或者:

String CreatedDate = meta.CreatedDate?.Value.ToShortDateString();

如果您的C#6以下,请尝试:

String CreatedDate = meta.CreatedDate.HasValue ? meta.CreatedDate..ToShortDateString() ? null;



查看完整回答
反对 回复 2021-04-10
?
HUH函数

TA贡献1836条经验 获得超4个赞

您可以使用空条件运算符:

CreatedDate = meta.CreatedDate?.ToShortDateString();


查看完整回答
反对 回复 2021-04-10
  • 2 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信