【发布时间】:2016-01-28 08:18:48
【问题描述】:
你能解释一下参数值和来源有什么不同的错误吗? 我尝试在 DataTable 进行查询,因此需要转换为 IEnumerable。
IEnumerable<DataRow> tablecust = datasetcust.Tables[0].AsEnumerable();
然后查询
DataRow cust = tablecust
.Where(x=> x.Field<string>("Name") == "Customer1"
&& x.Field<string>("Address") == "Karet" )
.FirstOrDefault();
我有错误:
Value cannot be null. Parameter name : value
谁能解释一下?
谢谢
【问题讨论】:
-
你从哪里得到这个错误?
dt.Tables[0].Rows.Count返回什么?cust == null返回什么? -
查询时。 .Where()
-
我已经问了三个问题 ;)
-
没有办法在
x.Field得到这个错误。 String 是一种引用类型,因此即使值是null或者它是DbNull.Value,它也可以工作。Field在这两种情况下都会返回null。如果没有像Name或Address这样的列,你会得到一个不同的错误。所以我猜你没有显示相关代码。 -
不,请发布完整堆栈跟踪(包括完整的错误消息、行号和调用堆栈)和更多代码,f.e.在以下几行中使用
cust。也许看看你如何填充表格也很有帮助(例如从数据库中,然后显示查询)。
标签: c# linq datatable ienumerable