由於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 博主比較笨,有些程式集中...