【发布时间】:2018-01-07 08:11:21
【问题描述】:
我有一个包含类似行的数据表
123、1、ABC、2、21.50、36.33
123, 1, ABC, 2, 22.67, 0.00
456、1、ABC、2、101.02、53.92
456, 1, ABC, 2, 0.00, 0.00 ...
我想遍历数据表并处理每个 ID(第 1 列)。
下面的代码运行良好,但速度很慢。 遍历 200,000 行需要 15 分钟。有没有办法提高性能?
if (dt.Rows.Count > 0)
{
DataView distinctDv = new DataView(dt);
DataTable distinctDt = distinctDv.ToTable(true, "ID");
foreach (DataRow distinctRow in distinctDt.Rows)
{
DataView dv = DataView(dt);
dv.RowFilter = "ID = " + distinctRow["ID"];
foreach (DataRowView drv in dv)
{
//Logic
}
}
【问题讨论】: