试图从数据表中删除空行时出错



我尝试了这个LINQ代码从数据表中删除空行

 NewDt = NewDt.Rows.Cast(Of DataRow)().
                Where(Function(row) Not row.ItemArray.All(Function(field) TypeOf field Is System.DBNull OrElse String.Compare(TryCast(field, String).Trim(), String.Empty) = 0)).CopyToDataTable()

但是显示错误

Lambda parameter 'row' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression.

任何想法?

是-读取错误信息。在方法中已经有了一个名为row的变量,因此需要为lambda表达式中的参数选择一个不同的名称。例如:

NewDt = NewDt.Rows.Cast(Of DataRow)().
              Where(Function(x) Not x.ItemArray.All(
                  Function(field) TypeOf field Is System.DBNull _
                      OrElse TryCast(field, String).Trim() = "").
              CopyToDataTable()

相关内容

  • 没有找到相关文章

最新更新