我正在尝试从数据表中删除数据列:出现以下错误:
System.InvalidOperationException: 'Collection was modified; enumeration operation may not execute.'
当我尝试执行以下代码时:
foreach (DataColumn col in csvData.Columns)
{
if (col.ColumnName.Contains("Column"))
{
csvData.Columns.Remove(col);
}
}
我确实理解该错误,因为我确实在修改集合。我只是不知道该如何处理。有人有主意吗?我尝试在try / catch中敲击它,但这只会删除包含列的第一列。
答案 0 :(得分:0)
此代码段应通过使用for
循环并从上限到0来解决该问题
for (int i = csvData.Columns.Count - 1; i >= 0; i--)
{
DataColumn dc = csvData.Columns[i];
if (dc.ColumnName.Contains("Column"))
{
csvData.Columns.Remove(dc);
}
}