我需要两个人在Giant csv文件中找到一行并将其添加到另一个表中,这里的问题是它大约有200000行,而对于我的foreach方法来说,它永远需要查找所有行。有什么方法可以更快地做到这一点?我不需要删除重复项。我有两个表,我必须在一个表中查找行,并在第三个表中添加找到并匹配的行。我试图删除第三个表中所有已经准备好的行,以不再对其进行再次比较,但是我得到了System.Data.RowNotInTableException。
foreach (DataRow dr in Csvdaten.Rows)
{
foreach (DataRow dr2 in Csvimportdaten.Rows)
{
if (dr["campaign_id"].ToString() == dr2["campaign_id"].ToString() &&
dr["communication_id"].ToString() == dr2["communication_id"].ToString() &&
dr["customer_id_spam"].ToString() == dr2["customer_id_spam"].ToString())
{
IO.Zusammendt.ImportRow(dr);
Csvdaten.Rows.Remove(dr);
}
}
}