首页 > 解决方案 > VB.NET 并行处理数据集中的每个数据表

问题描述

我正在构建代码来测试循环使用每个循环的并行数据集中的表,但我收到一个错误。错误出现在 ForEach 调用上,引发重载解析失败语法错误。请让我知道我在以下代码中做错了什么:

Dim ds As New DataSet
Dim dt As New DataTable
Dim dr As DataRow

ds.Tables.Add()
ds.Tables(0).Columns.Add("Col1", GetType(String))
ds.Tables(0).Columns.Add("Col2", GetType(String))
ds.Tables(0).Columns.Add("Col3", GetType(String))
ds.Tables(0).Columns.Add("Col4", GetType(String))

dr = ds.Tables(0).NewRow()
dr("Col1") = "Loaded"
dr("Col2") = "Col 2 Data"
dr("Col3") = "Col 3 Data"
dr("Col4") = "Col 4 Data"
ds.Tables(0).Rows.Add(dr)

ds.Tables.Add()
ds.Tables(1).Columns.Add("Col1", GetType(String))
ds.Tables(1).Columns.Add("Col2", GetType(String))
ds.Tables(1).Columns.Add("Col3", GetType(String))
ds.Tables(1).Columns.Add("Col4", GetType(String))

dr = ds.Tables(1).NewRow()
dr("Col1") = "Loaded"
dr("Col2") = "Col 2 Data"
dr("Col3") = "Col 3 Data"
dr("Col4") = "Col 4 Data"
ds.Tables(1).Rows.Add(dr)

Parallel.ForEach(
ds.Tables.Cast(Of DataTable),
Sub(table)
    ProcessTable(table)
End Sub
)

标签: vb.netparallel-processingdataset

解决方案


正如djv所指出的,答案是代码没有问题。

编译器抱怨 ProcessTable 方法不存在。编译器只是通过将错误放在 ForEach 调用而不是 ProcessTable 方法调用的行上来让我失望。


推荐阅读