C#如何根据DataTable生成泛型List或者动态类型list
2024-08-30 14:48:23
背景:在项目中,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的每一个元素,均为一个匿名类型的对象。
最新文章
- .clear 万能清除浮动
- 【wikioi】1025 选菜
- C 语言中的指针和内存泄漏
- ado.net C#如何实现数据库增删改查
- Leetcode 234 Palindrome Linked List 链表
- 反编译工具(.NET Reflector )
- Power of Four
- ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
- android ipc通信机制之二序列化接口和Binder
- js面向对象oop编程
- 面向对象_06【抽象类:abstract、接口:interface、实现:implements】
- ApiShell
- 安装和使用Docker(Windows7)
- ogg BR – BOUNDED RECOVERY 测试案例
- .NET控件名称缩写一览表 zz
- [HEOI2017] 相逢是问候
- jest &; puppeteer &; 单元测试 &; 集成测试
- XML模块(二十四)
- Vue2.0中v-for迭代语法变化(key、index)【转】
- 关于sencha touch在华为、红米等部分手机下hide事件失效,msgbox无法关闭的解决方案(已更新最新解决方案)
热门文章
- C++中virtual继承的深入理解
- Hdu 5446 Unknown Treasure (2015 ACM/ICPC Asia Regional Changchun Online Lucas定理 + 中国剩余定理)
- Codeforces 1107E(区间dp)
- Codeforces Round #319 (Div. 2)
- 构造 Bubble Cup 8 - Finals D. Tablecity
- VS Code 自用插件备份
- 在脚本中输入密码执行sudo,可关机等。
- RHEL 6.5----SCSI存储
- 贴图、纹理、材质的区别是什么? 还有shader
- apache mod_alias模块功能介绍