背景:在项目中,sql语句检索返回DataTable,然后根据检索结果做进一步的操作,本篇文章即是介绍如何将DataTable快速生成泛型List返回。

假设存在如下学生类:

     public class student
{
public int ID { get; set; }
public string StuName { get; set; }
public string CityCode { get; set; }
}

存在如下数据表Student:

1、泛型List,其C#代码如下:

             da.Fill(dt);
List<student> listStu = null;
if (dt.Rows.Count > )
{
listStu = dt.AsEnumerable().Select(row => new student() { ID = Convert.ToInt32(row["ID"]), StuName = row["StuName"].ToString(), CityCode = row["CityCode"].ToString() }).ToList();
}

注意代码中,Select和ToList()的使用。

2、动态类型List,其C#代码如下:

             da.Fill(dt);
if (dt.Rows.Count > )
{
var rows = dt.AsEnumerable().Select(row => new { ID = Convert.ToInt32(row["ID"]), StuName = row["StuName"].ToString(), CityCode = row["CityCode"].ToString() }).ToList();
foreach (var item in rows)
{
Console.WriteLine(item.StuName);
}
}

其中rows的每一个元素,均为一个匿名类型的对象。

最新文章

  1. .clear 万能清除浮动
  2. 【wikioi】1025 选菜
  3. C 语言中的指针和内存泄漏
  4. ado.net C#如何实现数据库增删改查
  5. Leetcode 234 Palindrome Linked List 链表
  6. 反编译工具(.NET Reflector )
  7. Power of Four
  8. ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
  9. android ipc通信机制之二序列化接口和Binder
  10. js面向对象oop编程
  11. 面向对象_06【抽象类:abstract、接口:interface、实现:implements】
  12. ApiShell
  13. 安装和使用Docker(Windows7)
  14. ogg BR – BOUNDED RECOVERY 测试案例
  15. .NET控件名称缩写一览表 zz
  16. [HEOI2017] 相逢是问候
  17. jest &amp; puppeteer &amp; 单元测试 &amp; 集成测试
  18. XML模块(二十四)
  19. Vue2.0中v-for迭代语法变化(key、index)【转】
  20. 关于sencha touch在华为、红米等部分手机下hide事件失效,msgbox无法关闭的解决方案(已更新最新解决方案)

热门文章

  1. C++中virtual继承的深入理解
  2. Hdu 5446 Unknown Treasure (2015 ACM/ICPC Asia Regional Changchun Online Lucas定理 + 中国剩余定理)
  3. Codeforces 1107E(区间dp)
  4. Codeforces Round #319 (Div. 2)
  5. 构造 Bubble Cup 8 - Finals D. Tablecity
  6. VS Code 自用插件备份
  7. 在脚本中输入密码执行sudo,可关机等。
  8. RHEL 6.5----SCSI存储
  9. 贴图、纹理、材质的区别是什么? 还有shader
  10. apache mod_alias模块功能介绍