0

行を DataTable に追加するためのコーディング速度の点で最速の方法は何ですか? 列の名前もデータ型も知る必要はありません。dataTable 列の数または名前を事前に指定せずに行を追加することはできますか?

        DataTable t = new DataTable();
        t.Rows.Add(value1,
            value1,
            value2,
            value3,
            ...
            valueN
            );
        DataSet ds = new DataSet();
        ds.Tables.Add(t);
4

3 に答える 3

1

最初の質問に答えるには: いいえ、テーブルに列を定義する必要があります。「ねえ、これらすべての値の列を作成してください」と言うだけではいけません。ただし、Schmelter 氏が言うように、その場で列を作成することを妨げるものは何もありません。

于 2012-11-15T15:48:04.583 に答える
1

入力がコレクションからのものである場合は、それをループしDataColumnsて正しいタイプの を作成できます。

var data = new Object[] { "A", 1, 'B', 2.3 };
DataTable t = new DataTable();
// create all DataColumns
for (int i = 0; i < data.Length; i++)
{
    t.Columns.Add(new DataColumn("Column " + i, data[i].GetType()));
}
// add the row to the table
t.Rows.Add(data);
于 2012-11-15T15:48:46.703 に答える
0

行または列を知らなくても(最初に列を追加する必要がありますが、それは不可能です)

 for(int intCount = 0;intCount < dt.Rows.Count; intCount++)
 {
  for(int intSubCount = 0; intSubCount < dt.Columns.Count; intSubCount++)
   {
         dt.Rows[intCount][intSubCount] = yourValue; // or assign to something
   }
 }
于 2012-11-15T15:46:59.240 に答える