使用(For Each)数据表时出错

时间:2016-12-08 04:33:51

标签: vb.net vb.net-2010

我尝试执行(For Each)循环通过vb.net中数据表的记录,但它不起作用并给我一个错误消息(代码和消息附加。)似乎(tblName)不能从vb.net接受

提前谢谢

Code & error

1 个答案:

答案 0 :(得分:0)

新版.NET中的惯用方法是在DataTable上调用AsEnumerable

For Each row In tblName.AsEnumerable()
    ...
Next

说明:DataTable是.NET Framework的一个非常古老的类。它可以追溯到.NET没有泛型的黑暗时代。特别是,它的Rows属性的返回类型没有实现IEnumerable<DataRow>,这意味着For Each变量的类型不能被推测,你仍然需要使用旧的({1}} For Each row *As DataRow*的语法类型推断。

已通过添加extension method AsEnumerable来解决此问题。