DataTable转换成IList 【转载】
2015-12-23 15:02
441 查看
2013-08-28 18:30 by 糯米粥, 43 阅读, 0 评论, 收藏, 编辑
链接:http://www.cnblogs.com/hlxs/archive/2011/05/09/2087976.html#2738813 留着学习
2013-08-28 18:30 by 糯米粥, 43 阅读, 0 评论, 收藏, 编辑
链接:http://www.cnblogs.com/hlxs/archive/2011/05/09/2087976.html#2738813 留着学习
链接:http://www.cnblogs.com/hlxs/archive/2011/05/09/2087976.html#2738813 留着学习
using System; using System.Collections.Generic; using System.Collections; using System.Data; namespace CTHFramework { /// <summary> /// DataTable转换成IList /// </summary> /// <typeparam name="T"></typeparam> public class TableToList<T> where T : class, new() { public static IList<T> ToList(DataTable dt, Func<DataRow, T> func) { if (dt == null || dt.Rows.Count == 0) { return null; } IList<T> list = new List<T>(dt.Rows.Count); foreach (DataRow dr in dt.Rows) { list.Add(func(dr)); } return list; } } public class DataItem { public int ID { get; set; } public string Name { get; set; } public override string ToString() { return string.Format("ID:{0},Name:{1}", ID.ToString(), Name); } } static class Program { static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("ID", typeof(int))); dt.Columns.Add(new DataColumn("Name", typeof(string))); for (int i = 0; i < 10; i++) { DataRow dr = dt.NewRow(); dr["ID"] = i.ToString(); dr["Name"] = "Name" + i.ToString(); dt.Rows.Add(dr); } IList<DataItem> list = TableToList<DataItem>.ToList(dt, DataRowToDataItem); foreach (var item in list) { Console.WriteLine(item.ToString()); } Console.Read(); } static DataItem DataRowToDataItem(DataRow dr) { return new DataItem { ID = Convert.ToInt32(dr["ID"]), Name = dr["Name"].ToString() }; } } }
2013-08-28 18:30 by 糯米粥, 43 阅读, 0 评论, 收藏, 编辑
链接:http://www.cnblogs.com/hlxs/archive/2011/05/09/2087976.html#2738813 留着学习
using System; using System.Collections.Generic; using System.Collections; using System.Data; namespace CTHFramework { /// <summary> /// DataTable转换成IList /// </summary> /// <typeparam name="T"></typeparam> public class TableToList<T> where T : class, new() { public static IList<T> ToList(DataTable dt, Func<DataRow, T> func) { if (dt == null || dt.Rows.Count == 0) { return null; } IList<T> list = new List<T>(dt.Rows.Count); foreach (DataRow dr in dt.Rows) { list.Add(func(dr)); } return list; } } public class DataItem { public int ID { get; set; } public string Name { get; set; } public override string ToString() { return string.Format("ID:{0},Name:{1}", ID.ToString(), Name); } } static class Program { static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("ID", typeof(int))); dt.Columns.Add(new DataColumn("Name", typeof(string))); for (int i = 0; i < 10; i++) { DataRow dr = dt.NewRow(); dr["ID"] = i.ToString(); dr["Name"] = "Name" + i.ToString(); dt.Rows.Add(dr); } IList<DataItem> list = TableToList<DataItem>.ToList(dt, DataRowToDataItem); foreach (var item in list) { Console.WriteLine(item.ToString()); } Console.Read(); } static DataItem DataRowToDataItem(DataRow dr) { return new DataItem { ID = Convert.ToInt32(dr["ID"]), Name = dr["Name"].ToString() }; } } }
相关文章推荐
- 类与对象
- sed的用法
- Application中定义公用数据
- Linux Bash Shell入门教程
- nginx扩展模块,不能正常显示FastDfs上传的图片问题
- 设计模式C++实现--享元模式
- unity3d-准备工作 - VS2013
- 从头认识java-14.1 再次对比数组与容器
- 分割字符串
- Java [Leetcode 100]Same Tree
- Android入门教程 Activity生命周期
- 第四章--INI配置
- 下拉树编辑风格 - 报表系统
- 源码推荐(12.23B):圆形方形两种方式的图片裁剪,滑动视图
- case: 初始化操作由case标签跳过 错误解决办法:加{}
- 设计模式C++实现--代理模式
- 进程基础-进程的创建、管理与调度、终止
- Java Web 的servlet 之过滤器 filter
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- 证书文件(pfx)读取时报 “指定的网络密码不正确”