идиоматических способ в более новых версиях .NET является вызов AsEnumerable
на вашем DataTable:
For Each row In tblName.AsEnumerable()
...
Next
Объяснение: DataTable
очень старый класс .NET Framework , Это относится ко темным временам, когда .NET не имел дженериков. В частности, возвращаемый тип своего свойства Rows
не реализует IEnumerable<DataRow>
, что означает, что тип переменной For Each
не может быть выведен, и вам все равно нужно использовать старый (pre-type-inference) синтаксис For Each row *As DataRow*
.
Это было исправлено путем добавления extension method AsEnumerable
.