从数据表中删除列

时间:2019-12-28 11:36:32

标签: c# wpf datatable

我正在尝试从数据表中删除数据列:出现以下错误:

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中敲击它,但这只会删除包含的第一列。

1 个答案:

答案 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);
   }
}