Error en datarow, la colección fue modificada; la operación de enumeración podría no ejecutarse [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo recorro los elementos en un cuadro de lista y luego los elimino? 8 respuestas

Tengo para cada bucle en el que se actualiza la fila de datos por lo que la excepción,La colección fue modificada; la operación de enumeración podría no ejecutarse es generado. ¿Alguna manera de arreglarlo? He visto la función To-List pero no funciona con la fila de datos, aquí está mi código:

foreach (DataRow row in dataTable.Rows) {
  temp = row[0].ToString();
  foreach (DataRow rows in dataTable.Rows) {
    if (temp == rows[0].ToString()) {
      tempdatatable.Rows.Add(row[0],row[1]);
      dataTable.Rows.Remove(rows);
      //Update happens here
    }
    tempdatatable.DefaultView.Sort = "gscitations DESC";
    dataGridView1.DataSource = tempdatatable;
  }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta