根据同一个问题的答案:如何检查IEnumerable<DataRow>返回null或是否有任何行?以及我找到的大部分谷歌搜索结果,您应该使用.Any()来验证集合至少包含一个项目。然而,在以下代码中,.Any()抛出了“对象引用未设置为对象的实例”的异常。请问有人能指出我做错了什么吗?
DataSet navData = GetNavigationData();
bool linkFound = false;
if(!CommonLibrary.IsDataSetEmpty(navData))
{
IEnumerable<DataRow> foundLinks = from link in navData.Tables[0].AsEnumerable()
where link.Field<string>("URL").ToLower() == searchURL
select link;
linkFound = (foundLinks.Any());
}
相关的堆栈跟踪显示异常来自于 Any() 调用:
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
at MyMethod in MySource.cs:line 259
Any()
调用周围加上括号? - BoltClock(false != x.Any())
的缩写。 - H H