【发布时间】:2016-05-15 08:16:38
【问题描述】:
如果 value(data.vendorname) 为空,我需要获取所有供应商名称,它会给出错误异常:“值不能为空。”
public HttpResponseMessage PostFilter([FromBody] dynamic data)
{
string[] vendorname = data.vendorname != null
? data.vendorname.ToObject<string[]>()
: null;
var items = (from s in context.AllInventories
where
(vendorname!=null
? vendorname.Contains(s.VENDORNAME)
:1==1)
select s)
.Take(500)
.ToList();
}
【问题讨论】:
-
你从哪里得到异常?你确定 data != null 吗?
-
您可以使用 C#6 空传播器提高空检查的优雅性:
string[] vendorname = data?.vendorname?.ToObject<string[]>(); -
@romanoza 在选择查询时给出异常。每当供应商名称为空时,它都会给出异常“值不能为空”。