中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用C#怎么將DataTable轉換為List<T>

發布時間:2020-12-17 15:08:35 來源:億速云 閱讀:198 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關利用C#怎么將DataTable轉換為List<T>,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

思路:

初始化一個List<T>對象 獲取到T所有的屬性,初始化一個T對象 遍歷所有屬性,如果DataTable中含有相應屬性的值則為T對象賦值,如果沒有對應的列則檢查數據模型是否定義有誤(屬性名與列名比較時不區分大小寫) 將T對象添加到List<T>對象中

  總體代碼:

利用C#怎么將DataTable轉換為List<T>

反射獲取到的屬性信息

利用C#怎么將DataTable轉換為List<T>

DataTable中的列信息,對比上圖,我們會發現,屬性中首字母都是大寫,而列名則是采用的Camel命名,首字母是小寫,但是通過單步調試可以發現 dt.Columns.Contanis(tempName) 的返回值為true,由此可以證明,這樣比較時是不區分大小寫的

利用C#怎么將DataTable轉換為List<T>

獲取到T對象信息

利用C#怎么將DataTable轉換為List<T>

/// <summary> 
    /// 利用反射將DataTable轉換為List<T>對象
    /// </summary> 
    /// <param name="dt">DataTable 對象</param> 
    /// <returns>List<T>集合</returns> 
    public static List<T> DataTableToList<T>(DataTable dt) where T :class,new ()
    { 
      // 定義集合 
      List<T> ts = new List<T>(); 
      //定義一個臨時變量 
      string tempName = string.Empty; 
      //遍歷DataTable中所有的數據行 
      foreach (DataRow dr in dt.Rows) 
      { 
        T t = new T(); 
        // 獲得此模型的公共屬性 
        PropertyInfo[] propertys = t.GetType().GetProperties(); 
        //遍歷該對象的所有屬性 
        foreach (PropertyInfo pi in propertys) 
        { 
          tempName = pi.Name;//將屬性名稱賦值給臨時變量 
          //檢查DataTable是否包含此列(列名==對象的屬性名)  
          if (dt.Columns.Contains(tempName)) 
          { 
            //取值 
            object value = dr[tempName];
             //如果非空,則賦給對象的屬性 
             if (value != DBNull.Value)
             {
               pi.SetValue(t,value,null); 
             }  
          } 
        } 
        //對象添加到泛型集合中 
        ts.Add(t); 
      } 
      return ts; 
    }

以上就是利用C#怎么將DataTable轉換為List<T>,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺昌县| 达拉特旗| 盐亭县| 榕江县| 丰原市| 武强县| 天长市| 洮南市| 凤庆县| 枞阳县| 平湖市| 广平县| 边坝县| 瑞安市| 陇川县| 麻城市| 搜索| 桐城市| 临澧县| 东辽县| 平利县| 南陵县| 株洲县| 萍乡市| 博白县| 海原县| 景泰县| 卓资县| 禹州市| 潜江市| 阳春市| 淮滨县| 衡山县| 修水县| 商丘市| 睢宁县| 新巴尔虎右旗| 资中县| 滨海县| 中宁县| 北碚区|