在向DataTable添加行的编码速度方面,最快的方法是什么?我不需要既不知道列的名称也不知道数据类型。是否可以在没有事先指定dataTable列的数量或名称的情况下添加行?
DataTable t = new DataTable();
t.Rows.Add(value1,
value1,
value2,
value3,
...
valueN
);
DataSet ds = new DataSet();
ds.Tables.Add(t);
答案 0 :(得分:1)
要回答您的第一个问题:不,您必须在表格中定义列。你不能只说,“嘿,为所有这些价值观做一个专栏。”然而,正如施梅尔特先生所说,没有什么可以阻止你动态创建列。
答案 1 :(得分: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);
答案 2 :(得分: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
}
}