首页 / C# / C# DataTable转List
C# DataTable转List
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# DataTable转List,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2830字,纯文字阅读大概需要5分钟。
内容图文
![C# DataTable转List](/upload/InfoBanner/zyjiaocheng/724/c47e00f605d24880829b3e9dcb124603.jpg)
ORM:
1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Linq; 5 using System.Reflection; 6 using System.Web; 7 8 namespace WebApplication1.date 9 { 10 public class ORM 11 { 12 static public List<T> Tolist<T>(DataTable dt) where T : class, new() 13 { 14 Type t = typeof(T); 15 PropertyInfo[] PropertyInfo = t.GetProperties(); 16 List<T> list = new List<T>(); 17 18 string typeName = string.Empty; 19 foreach (DataRow item in dt.Rows) 20 { 21 T obj = new T(); 22 foreach (PropertyInfo s in PropertyInfo) 23 { 24 typeName = s.Name; 25 if (dt.Columns.Contains(typeName)) 26 { 27 if (!s.CanWrite) continue; 28 29 object value = item[typeName]; 30 if (value == DBNull.Value) continue; 31 32 if (s.PropertyType == typeof(string)) 33 { 34 s.SetValue(obj, value.ToString(), null); 35 } 36 else 37 { 38 s.SetValue(obj, value, null); 39 } 40 } 41 } 42 list.Add(obj); 43 } 44 return list; 45 } 46 47 } 48 }
创建DataTable:
1 DataTable tblDatas = new DataTable("User"); 2 DataColumn dc = null; 3 dc = tblDatas.Columns.Add("Id", Type.GetType("System.Int32")); 4 dc.AutoIncrement = true;//自动增加 5 dc.AutoIncrementSeed = 1;//起始为1 6 dc.AutoIncrementStep = 1;//步长为1 7 dc.AllowDBNull = false;// 8 9 dc = tblDatas.Columns.Add("Name", Type.GetType("System.String")); 10 dc = tblDatas.Columns.Add("Pwd", Type.GetType("System.String")); 11 12 DataRow newRow; 13 newRow = tblDatas.NewRow(); 14 newRow["Name"] = "张三"; 15 newRow["Pwd"] = "123"; 16 tblDatas.Rows.Add(newRow); 17 18 newRow = tblDatas.NewRow(); 19 newRow["Name"] = "李四"; 20 newRow["Pwd"] = "123456"; 21 tblDatas.Rows.Add(newRow); 22 //调用ORM TOlist 泛型 23 var i = ORM.Tolist<User>(tblDatas); 24 var a = JsonConvert.SerializeObject(i); 25 Console.WriteLine(a); 26 Console.ReadKey();
创建类 User
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace ConsoleApp1 7 { 8 public class User 9 { 10 public int Id { get; set; } 11 public string Name { get; set; } 12 public string Pwd { get; set; } 13 } 14 }
内容总结
以上是互联网集市为您收集整理的C# DataTable转List全部内容,希望文章能够帮你解决C# DataTable转List所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。