runxinzhi.com
首页
百度搜索
DataTable转成List集合
项目开发中,经常会获取到DataTable对象,如何把它转化成一个List对象呢?前几天就碰到这个问题,网上搜索整理了一个万能类,用了泛型和反射的知识。共享如下:
按 Ctrl+C 复制代码
public class ModelConvertHelper<T> where T : new() // 此处一定要加上new() { public static IList<T> ConvertToModel(DataTable dt) { IList<T> ts = new List<T>();// 定义集合 Type type = typeof(T); // 获得此模型的类型 string tempName = ""; foreach (DataRow dr in dt.Rows) { T t = new T(); PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性 foreach (PropertyInfo pi in propertys) { tempName = pi.Name; if (dt.Columns.Contains(tempName)) { if (!pi.CanWrite) continue; object value = dr[tempName]; if (value != DBNull.Value) pi.SetValue(t, value, null); } } ts.Add(t); } return ts; } }
按 Ctrl+C 复制代码
相关阅读:
0523
[算法]二分专题
[转]聊聊列式存储
[错误]Caused by: org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0
[转]为什么group by后面不能使用别名(除MySQL)
[算法]PriorityQueue的应用
双指针算法
[算法]实现strStr()
实现用SQL查询连续发文天数/连续登录天数
python 日志模块
原文地址:https://www.cnblogs.com/yelanggu/p/6980493.html
最新文章
【转】Centos之解决命令行cat命令中文乱码【临时】
【转】console.time和console.timeEnd用法
【转】python之pdfplumber读取拆分pdf内容和表格
【转】VScode配置C、C++环境
【转】Centos防火墙代理服务器配置
【转】SVN服务器部署
【转】“韭菜”的8大特征
【转】Linux Centos7下使用LVM给系统硬盘扩容
【转】由Microsoft python language Server 下载特别慢引发的问题
[感悟]工作一月有余,只言片语
热门文章
关于我(我的简历)
[视频教程]我录制的“数据结构和算法面试实战”教程上线啦!
我说(2)
面试杂谈之我的秋招求职之路
[转]剑指offer之Java源代码
面试杂谈之我的实习求职之路(7个offer)
各种激活破解工具一览
我说
近期思绪
悟
Copyright © 2020-2023
润新知