如何在不使用循环的情况下从数据表中过滤空行?
我的情况是数据表可能包含大量行。 因此,我无法使用循环迭代和更新数据表。
我试过以下代码,
from row in table.AsEnumerable() where table.Columns.Any(col => !row.IsNull(col)) select row;
但我找不到Any()的定义。 我应该使用任何命名空间来获取Any()吗?
任何机构请告诉我如何更正或建议任何替代解决方案..
除了必须使用System.Linq
命名空间之外,还需要让它知道元素类型。 DataTable.Columns
不是generics集合(它只实现IEnumerable
而不是IEnumerable
),编译器无法推断出类型。 你需要做这样的事情:
from row in table.AsEnumerable() where table.Columns.Cast.Any(col => !row.IsNull(col)) select row;
Any()
方法位于System.Linq
命名空间中。 该方法位于Queryable
类中
你应该包括以下内容:
using System.Linq;
如果框架版本大于2,则使用system.linq
命名空间