我有两个数据表 dt1 和 dt2,我需要遍历它们并将 dt1 的两列与 dt2 的相同两列进行比较。我是 Linq 的初学者,但不确定使用 Linq 会更快吗?
每个 DataTable 有 4500 多行和 514 列数据,所以这是我们在这里处理的大型数据集。
列位置“0”具有两个数据表中每一行的唯一 ID。我正在尝试比较列位置“6”中的数据,并将列位置“7”中的数据值从一个数据表与另一个数据表进行比较。
我的代码需要大约 10-15 分钟来处理。
将一个 DataTable 中的两列与另一列进行比较的最佳和更快的解决方案是什么?
这是我的代码
public void CompareDataTables(DataTable dt1, DataTable dt2)
{
foreach (DataRow row1 in dt1.Rows)
{
foreach (DataRow row2 in dt2.Rows)
{
var array1 = row1.ItemArray;
var array2 = row2.ItemArray;
if(row1[0].ToString() == row2[0].ToString())
{
if (row1[6].ToString() != row2[6].ToString())
{
tbCPDEResults.Text += "Project ID: " + row1[0] + " has a change in INV Approval Status. \nOld Value: " + row1[6] + " \nNew Value: " + row2[6] + "\n";
}
if (row1[7].ToString() != row2[7].ToString())
{
tbCPDEResults.Text += "Project ID: " + row1[0] + " has a change in INV Progress. \nOld Value: " + row1[7] + " \nNew Value: " + row2[7] + "\n";
}
}
}//inner foreach
}//outter foreach
}