C 將DataTable轉化為List

2021-09-06 22:41:17 字數 1150 閱讀 5704

c#將datatable轉化為list

在使用三層架構開發乙個**時,希望把datatable物件轉換為list物件,於是在網上找資料,總結乙個比較方便的方法來實現——使用反射。

思路:

初始化乙個list物件

獲取到t所有的屬性,初始化乙個t物件

遍歷所有屬性,如果datatable中含有相應屬性的值則為t物件賦值,如果沒有對應的列則檢查資料模型是否定義有誤(屬性名與列名比較時不區分大小寫)

將t物件新增到list物件中

總體**:

反射獲取到的屬性資訊

datatable中的列資訊,對比上圖,我們會發現,屬性中首字母都是大寫,而列名則是採用的camel命名,首字母是小寫,但是通過單步除錯可以發現 dt.columns.contanis(tempname) 的返回值為true,由此可以證明,這樣比較時是不區分大小寫的

獲取到t物件資訊

///利用反射將datatable轉換為list物件3

///

4///

datatable 物件 5

///list

集合

6public

static listdatatabletolist(datatable dt) where t :class,new()7

32}

33}

34//

物件新增到泛型集合中

35ts.add(t);

36}

37return

ts;

38 }

view code

C 把list轉化為Datatable

csdn廣告是越來越多了,所有部落格筆記不再更新,新 dotnet筆記 使用linq的時候,經常需要 select new 如何讀取這些欄位的單個值?通常兩種做法 1 object物件反射是可以做的 2 在反射的基礎上,轉化為datatable 也可以 如下例項 using system using...

將物件轉化為DataTable

imports system.collections.generic imports system.reflection public class tablebuilder of t private selectinfos as list of propertyinfo private propin...

C Excel資料轉化為Datatable

最近做專案,遇到了處理excel的問題,要求以excel為資料來源,直接將excel的資料在datagridview中顯示,主要是分三步進行。第一 建立excel檔案的連線 第二 將excel資料放入datatable 第三 繫結資料。建立excel檔案的連線,返回連線字串 private stri...