System.InvalidOperationException: Collection was modified; enumeration operation might not execute.
使用foreach或for循环删除DataRow的时候出的问题。
用dt.Rows.RemoveAt()或dt.Rows.Remove()或dt.Rows[i].delete()时都可能出现这个问题。
问题原因:row[i].delete()的时候(dt.Rows.RemoveAt()和dt.Rows.Remove()其实是先delete再AcceptChanges的),行的状态必须是Unchanged,才可以的,新增加的行里的状态是Added,然后抛出了刚才说的异常。
解决办法:循环找到datatable中每一行的行状态,都改为Unchanged。