从 DataTable .NET 中删除多列

Delete muliple columns from a DataTable .NET

我想删除 DataTable 中的多个列。我目前有要删除的索引。例如,假设我有 10 列,我想删除索引 4,8 和 9。

我知道我可以做这样的事情 dataTable.Columns.RemoveAt(index)。但是一旦我这样做了,我删除的下一列的索引就会关闭。

所以我的问题是如何删除预期的列,因为我只有列索引。

如果您想避免更改要删除的下一列的索引,为什么不按降序删除它们。 例如,删除 9 然后 8 然后 4 而不是 4,8,9.

这里还有几个选项:

  • 按名称删除它们:

    dataTable.Columns.Remove(col4Name);
    dataTable.Columns.Remove(col8Name);
    
  • 在删除列之前获取对列的引用:

    DataColumn dc4 = dataTable.Columns[4];
    DataColumn dc8 = dataTable.Columns[8];
    DataColumn dc9 = dataTable.Columns[9];
    dataTable.Columns.Remove(dc4);
    dataTable.Columns.Remove(dc8);
    dataTable.Columns.Remove(dc9);