zoukankan      html  css  js  c++  java
  • 如何使用linq读取DataTable集合?AsQueryable() 和 AsEnumerable()区别?

    一、准备工作

    引入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

  • 相关阅读:
    .net MVC 下载文件乱码问题解决方案
    javascript将json转字符串
    js中将字符串转换成json的三种方式
    mvc项目,导出到Excel,中文显示乱码
    20160606面试题总结
    bzoj 4318: OSU!
    bzoj 1419: Red is good
    Codeforces 123 E Maze
    HDU 4336 Card Collector
    Codeforces 540 D Bad Luck Island
  • 原文地址:https://www.cnblogs.com/sdd53home/p/5459331.html
Copyright © 2011-2022 走看看