首页 > 编程语言 > 详细

如何使用linq读取DataTable集合?AsQueryable() 和 AsEnumerable()区别?

时间:2016-05-04 19:07:11      阅读:210      评论:0      收藏:0      [点我收藏+]

一、准备工作

引入linq和data 相关的using命名空间

DataTable dt=new DataTable();//dt的来源可以是多个地方,比如:数据库,Excel等等。我这里使用Excel.

二、获取DataTable的列名及数据类型的方法

有了这个方法就不必考虑来源中的列名和数据类型,这里就可以查找到。

foreach (DataColumn dc in dt.Columns)//获取DataTable中的列名,这里的dt由于是从Excel导入所有列名为:F1,F2,F3,F4...
{
  MessageBox.Show(string.Format("列名:{0} ,数据类型:{1}", dc.ColumnName, dc.DataType));
}

三、进行linq获取操作
这里获取到的东西我们存到一个List里面。

List<string> s = (from a in dt.AsEnumerable()//每次用Linq来操作集合的时候都会用到AsQueryable()和AsEnumerable(),下面我们讲区别
                                  select a.Field<string>("F2")).ToList<string>();//这里的“F2”就是列名
foreach (var item in s)
{
  MessageBox.Show("Test:" + item.ToString());//读取结果显示
}


四、AsQueryable()和AsEnumerable()的区别?

区别就大了 AsEnumerable() 是 LINQ TO OBJECT

AsQueryable 是 LINQ TO SQL

 

如何使用linq读取DataTable集合?AsQueryable() 和 AsEnumerable()区别?

原文:http://www.cnblogs.com/sdd53home/p/5459331.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!