VisualBasicで記述されたForEachループがあり、反復しているテーブルを変更しようとしています。これにより、""コレクションが変更されました。列挙操作が実行されない可能性があります」例外。
これについて苛立たしいのは、使用していたすべてのオブジェクトのコピーを作成しようとし、コピーから削除しただけで、例外が発生したことです。
これは、ForループまたはWhileループの代わりにFor Eachループを使用しているためですが、コードを書き直して機能させることができませんでした(C#に精通しています)。これが私がここで助けを求めることにした理由です。
これは私のコードです。削除したい行を削除できるように書き直すにはどうすればよいですか?ヘルプとコードをいただければ幸いです。
Dim drAcademicRecord, drSchool As DataRow
For Each drSchool In dsR.Tables("School").Rows
If drSchool("OrganizationName") = "NA" Then
For Each drAcademicRecord In dsR.Tables("AcademicRecord").Rows
If drAcademicRecord("AcademicRecord_Id") = drSchool("AcademicRecord_Id") Then
dsR.Tables("AcademicRecord").Rows.Remove(drAcademicRecord) '<-- This is the line causing my exception
End If
Next
End If
Next