web-dev-qa-db-ja.com

C#でDataTableから列を削除する

関数呼び出しから返されるDataTableを取得するDataSetがあります。 15〜20列ですが、必要なデータは10列のみです。

不要な列を削除する方法、DataTableを、必要な列のみが定義されている別の列にコピーする方法、またはコレクションを繰り返して必要な列を使用する方が良い方法はありますか。

固定長のデータファイルに値を書き出す必要があります。

99
Brian G

帯域幅とメモリを削減するために選択された列を制限する以外に:

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

必要な列の後のすべての列を削除するには、この小さな機能が動作するはずです。列数が10以下になるまで、インデックス10で削除されます(列は0ベースであることに注意してください)。

        DataTable dt;
        int desiredSize = 10;

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