我在数组中有各种 csv 文件的位置strFilePath
(几乎 1000 个文件,每个文件中有 100 万条记录)。从文件中读取并将所有数据合并到单个数据表需要大量时间。所以我决定继续进行并行处理。
当前代码
DataTable dtMerge=new DataTable();
for(int i=0;i<strFilePath.Count;i++)
{
Parallel.For(0, 3,m =>
{
clsNewClass objCls=new clsNewClass();
DataTable dt=objCls.ReadCSV(strFilePath[m+i]);
});
m+=3;
}
问题是,如何将数据表中的所有数据合并dt
到全局数据表中,dtMerge
或者如何将所有结果包含到全局变量中dtMerge
?
预期的工作代码
DataTable dtMerge=new DataTable();
for(int i=0;i<strFilePath.Count;i++)
{
Parallel.For(0, 3,m =>
{
clsNewClass objCls=new clsNewClass();
// Is it possible like the below?
dtMerge = objCls.ReadCSV(strFilePath[m+i]);
});
m+=3;
}