1

私はこのコードを持っています:

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インクリメンタルであり、行も削除されます。正しい場合、ループは反復の半分を通過します。これは、ループ制限がカウントメソッドによって処理されるためです。右?そうであれば?どうすれば修正できますか?

4

0 に答える 0