博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
List<>各函数的用法
阅读量:5209 次
发布时间:2019-06-14

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

List<Model> list = 获取的集合数据;

这里的Model表示实体对象,在项目中List经常用来存储

将集合按照指定的键分组,如SQL语句中Group By 字段1,....;这里只能指定一个键,如果要按多个键分组,可以重复以下步骤
IEnumerable<IGrouping<string, Model>> groups = list.GroupBy(ins => ins.Field, ins => ins);
IGrouping<键的类型,对象类型>:list集合中的对象类型为Model,按Field分组,Field的类型为string.
查询出list集合中符合条件的数据
IEnumerable<Model> obj = list.Where(ins => "预想值".Equlas(ins.Field1) && ins.Field2 < DateTime.Now);
ins:表示list中的每一个对象变量,等同于foreach(Model ins in list)
如果想要像sql语句一样能模糊查询[like '%...%']也可以实现
Where(model=>model.Field.IndexOf(condition)>=0);//=like '%...%';
Where(model=>model.Field.StartsWith(condition)>=0);//=like '...%';
Where(model=>model.Field.EndWith(condition)>=0);//=like '%...';
在用List<Model>缓存数据的时候很有用处

list.OrderBy(ins=>ins.Field).ToList()

将list中的元素按Field键升序排列;如果要降序,可以
list.OrderByDescending(ins=>ins.Field).ToList()
eg:

标题1 标题2 标题3
aaa1 bbb1 ccc2
aaa2 bbb2 ccc1

点击表头中的任何一列{标题1,标题2,标题3}时,自动按此列排序,如:点"标题1"列,则按标题排序

list.OrderBy(ins=>ins.GetType().GetProperty(order).GetValue(ins, null));
order:点击的列名,区分大小写,与实体的属性名称要完全相同
list.OrderBy(ins=>ins.GetType().GetProperty(order, System.Reflection.BindingFlags.IgnoreCase).GetValue(ins, null));
这种方式为什么不能用呢?System.Reflection.BindingFlags.IgnoreCase这个不是指示忽略order大小写的吗?

 

计算集合中某属性值的总和

list.Sum(ins=>ins.Field);

 

List在2.0的用法不一样,因为不支持Lambda表达式.可以用委托

list.Find(
delegate
(
object 
entity){
    
//判断条件,true:表示找到了.不找了,false:表示未找到.接着找
    
return 
entity ==
null
;
});

 

二、查询

放入list
中 contains
追问
可以给点测试代码么  我搞不懂  就像SQL  where name like "a%";所查询出来的一样的道理
回答
其实是linq。。            string aa = "ab";            string bb = "acvb";            string cc = "vbas";            List
list = new List
(); list.Add(aa); list.Add(bb); list.Add(cc); List
listresult = (list.Where(p => p.Contains("c"))).ToList
();
追问
List
listresult = (list.Where(p => p.Contains("c"))).ToList
();这句话是什么意思 p.Contains("c")指的是like "c%":

转载于:https://www.cnblogs.com/wilderhorse/p/3269753.html

你可能感兴趣的文章
C#加快Bitmap的访问速度
查看>>
android 解释dp,px,pt,sp单位
查看>>
《C和指针》读书笔记——第二章 基本概念
查看>>
Acne Diet - Number One FAQ Answered
查看>>
创建型模式之 建造者模式
查看>>
20145302张薇《Java程序设计》实验二报告
查看>>
20145302张薇 《网络对抗技术》 web基础
查看>>
fastjson 的简单使用
查看>>
HighCharts 具体使用及API文档说明
查看>>
201521123023《Java程序设计》第9周学习总结
查看>>
首富王健林励志演讲:《再坚持一会儿》
查看>>
第二次冲刺3
查看>>
acdream.LCM Challenge(数学推导)
查看>>
成员变量与属性的区别
查看>>
利用js对象的特性,去掉数组中的重复项
查看>>
springmvc 类型转换器 数据回显及提示信息
查看>>
蘑菇街2018实习笔试题
查看>>
第五章 基础构建模块
查看>>
[原创]zabbix工具介绍,安装及使用
查看>>
屏蔽apache php版本号
查看>>