DataTable 和List 相互轉換

2021-06-10 11:43:09 字數 979 閱讀 6343

由於c#3.0出現了擴充套件方法  我們可以通過這樣乙個特性來簡化我們的開發.

datatable 轉換為list的我們可以通過擴充套件datatable來簡化

public

static

class

datatableextensions

);//

建立返回的集合

list

<

tresult

>

oblist 

=new

list

<

tresult

>

();foreach

(datarow row 

indt.rows)

);//

放入到返回的集合中.

oblist.add(ob);

}return

oblist;}}

相反 的也需要list轉換為datatable 我們可以通過擴充套件ienumberable來實現

//////轉換為乙個datatable

///

///

///

///

public

static

datatable todatatable

<

tresult

>

(this

ienumerable

<

tresult

>

value) 

where

tresult : 

class

);      

foreach

(var item 

invalue)

return

dt;}

} 可以通過上面的**看出  都是主要通過反射 來實現的.  反射的效率似有點慢.   但是可以接受

當然你也可以通過表示式樹 動態的構造lambda表示式來提高效率

DataTable 和List 相互轉換

轉換為乙個datatable public static datatable todatatable tresult this ienumerable tresult value where tresult class foreach var item invalue return dt datat...

list和datatable的相互轉化

list轉datatble public static datatable listtodatatable ilist list 給datatable動態新增列 引數列名稱,型別 result.columns.add pi.name,coltype 下面給datatable新增資料 for int ...

DataTable 和List之間相互轉換的方法

1 list轉化datetable publicstaticdatatable todatatable ienumerablecollection objectarray templist.toarray dt.loaddatarow array,true returndt 博主比較笨,有些程式集中...