我有这段代码:
for (int i = 0; i < dataTable.Rows.Count; i++)
{
tempdatatable.Clear();
var tempRow = dataTable.Rows[i];
temp = dataTable.Rows[i][0].ToString();
for (int j = 0; j < dataTable.Rows.Count; j++)
{
DataRow rows = dataTable.Rows[j];
if (temp == rows[0].ToString())
{
tempdatatable.Rows.Add(tempRow[0], tempRow[1]);
dataTable.Rows.Remove(rows); //Update happen here
}
tempdatatable.DefaultView.Sort = "gscitations DESC";
dataGridView1.DataSource = tempdatatable;
}
}
我的问题是,不是缺少行吗?我的意思是当循环从i=0
开始,然后我删除内部循环中的行,因此i
也是增量的,行也被删除,如果我是正确的,循环将遍历迭代的一半,因为循环限制由count方法处理,对不对?
如是?我该如何解决?