我读了一个excel文件并将其放在Datatable
中。
如果我放置一个断点并检查myDatatable.Rows.Count()
的值,它等于我的excel文件中的行数。
但后来我将我的datatable对象传递给这样的方法:
private void Foo(Datatable dt)
{
DataTableReader reader = dt.CreateDataReader();
while(reader.Read())
{
// do stuff on each row
}
}
现在,如果我在我的while loop
中放置一个计数器,它会显示例如10,而行数实际上是100000。
我做错了什么?
答案 0 :(得分:1)
这应该与for-each
上的DataTable.Rows
循环类似
我在你while loop
的某个地方猜测你正在退出循环。确保您已正确使用“break
”和“continue
”。
答案 1 :(得分:0)
是什么让你觉得有什么不对?该表将具有例如100000行,不会改变。 DataReader一次一行地遍历表,每次迭代都会有不同的位置。