在C#中从DataTable中删除列

时间:2020-03-05 18:56:40  来源:igfitidea点击:

我有一个DataSet,它从函数调用中传回了我的数据表。它有15到20列,但是我只需要10列的数据。

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

我需要将这些值写到固定长度的数据文件中。

解决方案

回答

除了限制选择以减少带宽和内存的列之外:

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

回答

要删除所需列之后的所有列,此小功能应起作用。它将在索引10处删除(请记住列基于0),直到列数等于或者小于10.

DataTable dt;
        int desiredSize = 10;

        while (dt.Columns.Count > desiredSize)
        {
            dt.Columns.RemoveAt(desiredSize);
        }