博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表中某列的所有值转成List泛型集合
阅读量:5075 次
发布时间:2019-06-12

本文共 2657 字,大约阅读时间需要 8 分钟。

代码如下:

//表dt中含有字段名称列List
fieldList = dt.AsEnumerable().Select(t => t.Field
("字段名称")).ToList
(); //还可以 List
fieldList2=(from d in dt.AsEnumerable() select d.Field
("字段名称")).ToList
();

其中dt.AsEnumerable()得到datarow的集合,对于DataRow有一个Field<T>("列名")的方法:dr.Field<string>("字段名称"),得到字符串类型的值。

扩展:Lambda表达式和Linq

class Program    {        static void Main(string[] args)        {            LinqDataTable();        }        public static string[,] infoArr = new string[,] { { "1", "百度", "baidu", "201303" }, { "2", "迅雷", "xunlei", "201302" }, { "3", "谷歌", "guge", "201301" } };        protected static void LinqDataTable()        {            DataRow row;            ClientStruct cs = new ClientStruct();            DataTable dtTable = new DataTable();            dtTable.Columns.Add(cs.ID);            dtTable.Columns.Add(cs.Name);            dtTable.Columns.Add(cs.Company);            dtTable.Columns.Add(cs.CreatedDate);            for (int i = 0; i < 3; i++)            {                row = dtTable.NewRow();                row[cs.ID] = infoArr[i, 0];                row[cs.Name] = infoArr[i, 1];                row[cs.Company] = infoArr[i, 2];                row[cs.CreatedDate] = infoArr[i, 3];                dtTable.Rows.Add(row);            }            //遍历DataTable,取出所有的ID            //第一种:            List
lstID = (from d in dtTable.AsEnumerable() select d.Field
(cs.ID)).ToList
(); //第二种: List
allId = dtTable.AsEnumerable().Select(d => d.Field
("ID")).ToList(); //遍历DataTable,将其中的数据对应到ClientStruct中 //第一种: List
list = (from x in dtTable.AsEnumerable() orderby x.Field
(cs.Company) select new ClientStruct { ID = x.Field
(cs.ID), Name = x.Field
(cs.Name), Company = x.Field
(cs.Company), CreatedDate = x.Field
(cs.CreatedDate) }).ToList
(); //第二种: List
list2 = dtTable.AsEnumerable().OrderBy(o => o.Field
(cs.Company)).Select(x => new ClientStruct { ID = x.Field
(cs.ID), Name = x.Field
(cs.Name), Company = x.Field
(cs.Company), CreatedDate = x.Field
(cs.CreatedDate) }).ToList
(); //遍历DataTable,并将上面的List结果存储到Dictionary中: Dictionary
dic = list.ToDictionary(p => p.Company); //p作为string键值来存储 } } /*遍历DataTable*/ class ClientStruct { public string ID = "ID"; public string Name = "Name"; public string Company = "Company"; public string CreatedDate = "CreatedDate"; }

  

转载于:https://www.cnblogs.com/Med1tator/p/6430403.html

你可能感兴趣的文章
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
关于indexOf的使用
查看>>
英语单词
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
新手Python第一天(接触)
查看>>
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>
codevs 1080 线段树练习
查看>>