我正在使用Linq Query从数据表dt_Customers
中获取一些数据。我使用以下代码:
IEnumerable<DataRow> enumerableDataRowCollection =
from company in dt_Customers.AsEnumerable()
let zip = company.Field<string>("ZIP")
where ((zip != null) && zip.StartsWith("" + 4 + "") || zip.StartsWith("" + 5 + ""))
select company;
在Where子句(where ((zip != null) && zip.StartsWith("" + 4 + "") || zip.StartsWith("" + 5 + ""))
)中我收到此错误,&#34;对象引用未设置为对象的实例。&#34;。
我读过这篇文章Linq query "Object reference not set to an instance of an object"和 LINQ Object Referance not set
在此之后我更新了Where子句并进行了检查(zip != null)
但是我仍然遇到同样的错误。
答案 0 :(得分:1)
AND比OR更强 - 所以试试这个:
IEnumerable<DataRow> enumerableDataRowCollection =
from company in dt_Customers.AsEnumerable()
let zip = company.Field<string>("ZIP")
where (zip != null && (zip.StartsWith(postalcodefrom)
|| zip.StartsWith(postalcodeto)))
select company;
答案 1 :(得分:0)
你应该改变这样的括号:
where zip != null && (zip.StartsWith("" + postalcodefrom + "") ||
zip.StartsWith("" + postalcodeto + ""))
除了检查null
之外,您还需要找出zip
为 null