从C#中的DataTable中删除列

我有一个DataSet,我从一个函数调用传回来的DataTable。 它有15-20列,但我只想要10列的数据。

有没有办法删除我不想要的那些列,将DataTable复制到只有定义了我想要的列的另一个,或者只是更好地迭代集合,并使用我需要的列。

我需要将这些值写入一个固定长度的数据文件。

除了限制select的列以减less带宽和内存:

DataTable t; t.Columns.Remove("columnName"); t.Columns.RemoveAt(columnIndex); 

要删除所有列后,这个小function应该工作。 它将在索引10删除(记住列是基于0),直到列数为10或更less。

  DataTable dt; int desiredSize = 10; while (dt.Columns.Count > desiredSize) { dt.Columns.RemoveAt(desiredSize); }