c#的datatable轉(zhuǎn)list示例
using System;
using System.Collections.Generic;
using System.Data;
using System.Reflection;
namespace jdrz.HumanIdentify
{
public class Helper
{
/// <summary>
/// DataTable 轉(zhuǎn)換為List 集合
/// </summary>
/// <typeparam name="TResult">類型</typeparam>
/// <param name="dt">DataTable</param>
/// <returns></returns>
public static List<TResult> ToList<TResult>(DataTable dt) where TResult : class, new()
{
//創(chuàng)建一個屬性的列表
var prlist = new List<PropertyInfo>();
//獲取TResult的類型實(shí)例 反射的入口
var t = typeof(TResult);
//獲得TResult 的所有的Public 屬性 并找出TResult屬性和DataTable的列名稱相同的屬性(PropertyInfo) 并加入到屬性列表
Array.ForEach(t.GetProperties(), p => { if (dt.Columns.IndexOf(p.Name) != -1) prlist.Add(p); });
//創(chuàng)建返回的集合
var oblist = new List<TResult>();
foreach (DataRow row in dt.Rows)
{
//創(chuàng)建TResult的實(shí)例
var ob = new TResult();
//找到對應(yīng)的數(shù)據(jù) 并賦值
prlist.ForEach(p => { if (row[p.Name] != DBNull.Value) p.SetValue(ob, row[p.Name], null); });
//放入到返回的集合中.
oblist.Add(ob);
}
return oblist;
}
}
}
- C#中泛型舉例List<T>與DataTable相互轉(zhuǎn)換
- c#中DataTable轉(zhuǎn)List的2種方法示例
- C#中將DataTable轉(zhuǎn)化成List<T>的方法解析
- C#實(shí)現(xiàn)DataTable,List和Json轉(zhuǎn)換的方法
- C#實(shí)現(xiàn)DataTable轉(zhuǎn)換成IList的方法
- C#將DataTable轉(zhuǎn)化為List<T>
- C#將DataTable轉(zhuǎn)換成list的方法
- c#將list類型轉(zhuǎn)換成DataTable方法示例
- C#中DataTable和List互轉(zhuǎn)的示例代碼
相關(guān)文章
C#對二進(jìn)制數(shù)據(jù)進(jìn)行base64編碼的方法
這篇文章主要介紹了C#對二進(jìn)制數(shù)據(jù)進(jìn)行base64編碼的方法,涉及C#中Convert.ToBase64String用法技巧,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)遠(yuǎn)程關(guān)閉和重啟計算機(jī)的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)遠(yuǎn)程關(guān)閉和重啟計算機(jī)的功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
c#判斷網(wǎng)絡(luò)連接狀態(tài)的示例分享
這篇文章主要介紹了使用c#判斷網(wǎng)絡(luò)連接狀態(tài)的示例,需要的朋友可以參考下2014-02-02
C#實(shí)現(xiàn)的算24點(diǎn)游戲算法實(shí)例分析
這篇文章主要介紹了C#實(shí)現(xiàn)的算24點(diǎn)游戲算法,實(shí)例分析了算24點(diǎn)游戲相關(guān)的運(yùn)算技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
WPF實(shí)現(xiàn)雷達(dá)圖(仿英雄聯(lián)盟)的示例代碼
這篇文章主要介紹了如何利用WPF實(shí)現(xiàn)雷達(dá)圖(仿英雄聯(lián)盟)的繪制,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-07-07
C# 利用代理爬蟲網(wǎng)頁的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 利用代理爬網(wǎng)頁的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本能幫助到大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10

