Re: [問題] 有辦法一氣呵成產生DataTable嗎?

作者: tooto1985 ( )   2014-10-30 10:02:01
※ 引述《don750421 (1+1≠2)》之銘言:
: 如標題,純粹好奇可不可以達到@@
: 如果我已經知道我DataTable要產生的欄位和內容。
: 有辦法一氣呵成產生嗎?
: 目前的寫法是
: DataSet Data = new DataSet()
: {
: Table={
: new DataTable("Name"),
: new DataTable("School"),
: new DataTable("Year")
: }
: };
: Data.Tables["Name"].Columns.AddRange{
: new DataColumn[]{new DataColumn("Test",typeof(string)),
: new DataColumn("Test",typeof(int))};
: Data.Tables["Name"].Rows.Add("ABC",12);
: 好奇的想問,有辦法縮短寫法嗎?
: 或許有辦法在建立DataTable的時候,就連同增加欄位及塞值?
: 謝謝各位
雖然可以這樣寫,但相對的可讀性變得很差!
提供以下範例給你參考看看。
var ds = new DataSet
{
Tables =
{
new DataTable
{
Columns =
{
new DataColumn("id", typeof (int)),
new DataColumn("name", typeof (string)),
new DataColumn("hasChild", typeof (bool))
},
Rows =
{
new object[] {1, "John", true},
new object[] {2, "Tom", false},
new object[] {3, "Susan", true}
}
},
new DataTable
{
Columns =
{
new DataColumn("key", typeof (string)),
new DataColumn("value", typeof (string)),
},
Rows =
{
new object[] {"key1", "value1"},
new object[] {"key2", "value2"},
new object[] {"key3", "value3"},
}
}
}
};
作者: don750421 (1+1≠2)   2014-10-30 20:51:00
感謝前輩指導

Links booklink

Contact Us: admin [ a t ] ucptt.com