C#高级学习第三章LINQ
来源:互联网 发布:ubuntu wq保存退出 编辑:程序博客网 时间:2024/06/07 04:00
LINQ查找:
using System.linq;
var res=from m in MasterList from后面设置查询的集合
where m.Level>8 && m.MenPai=="丐帮" where后面跟上查询的条件
select m; 表示m的结果集合返回
扩展方法的写法:
var res=MasterList.Where(m=>m.Level>8 && m.MenPai=="丐帮") 参数是一个返回值是bool,带一个相对应类型的参数的委托Func<MartialArtMaster,bool>,Lambda表达式
LINQ联合查询:
var res=from m in MasterList 查找大侠所学功夫的杀伤力大于95 联合查询是第一个集合的全部分别对应另一个集合的内容
from k in KongFuList
where m.Kongfu==k.Kongfu && k.Power>95
select m; (select new{master=m,kongfu=k};)输出所有对应的集合的内容
扩展方法的写法(联合查询):
var res=masterList.SelectMany(m=>kongfuList,(m,k)=>new {master=m,kongfu=k}).Where(x=>x.master.Kongfu==x.Kongfu.Name && x.kongfu.Power>95)
对查询结果做排序:orderby(descending)
var res=from m in MasterList
where(m.Level>8 && m.MenPai=="MenPai")
orderby m.Level,m.Age 按照多个字段进行排序,如果字段的属性相当,就按照第二属性排序(从小到大,后面加上descending从大到小)
select m;
扩展方法排序:
var res=MasterList.Where(m=>m.Level>8 && m.MenPai=="丐帮").OrderBy(m=>m.Age) 以m.Age排序
var res=MasterList.Where(m=>m.Level>8 && m.MenPai=="丐帮").OrderBy(m=>m.Age).ThenBy(m=>m.Level);先以m.Age排序,在Age相同的情况下,在以Level排序
join on集合联合:
var res=from m in MasterList
join k in KongfuList on m.Kongfu equals k.Name join后面加联合的集合,on后面加条件
where m.Level>8
select new{master=m,kongfu=k};
into Group分组查询(把武林高手按所学功夫分类,看哪一个功夫修炼人数最多)
var res=from k in KongfuList
join m in MasterList on k.Name equal m.Kongfu
into groups 后面的集合按前面的集合分组,必须符合多对一关系
orferby groups.Count()
select new {kongfu=k,count=groups.Count()};
按自身字段分组 group by
量词操作符 any all 判断集合中是否满足某个条件
bool res=MasterList.Any(m=>m.MenPai=="丐帮"); 判断这个集合中有没有门派属于丐帮的,有则返回true
bool res=MasterList.All(m=>m.MenPai=="丐帮"); 判断这个集合中门派是否都是属于丐帮,是则返回true
- C#高级学习第三章LINQ
- C#高级编程学习笔记(LINQ)
- 《C#高级编程》【第三章】对象和类型 -- 学习笔记
- C#学习笔记-LINQ
- C# 初步学习LINQ
- C#高级编程六十三天----并行LINQ
- C#高级编程六十八天---LINQ小结
- C#高级篇(二)---LINQ、反射、线程
- C# 高级特性(一) LINQ
- 学习笔记(二)-LINQ to Objects&PS第三章
- c# 宝典 第三章 学习
- linQ学习笔记之三高级语句
- C#高级编程读书笔记 - 第三章对象和类型
- C#学习笔记—LINQ
- C# 之 Linq 学习笔记
- C#学习日记 LINQ语句
- C#高级学习第七章-文件操作
- 第三章-高级特性
- 流媒体通信协议HLS与DASH的对比
- iptables基础用法介绍
- cookie
- 排序算法(三)直接选择排序(Straight Select Sorting)
- JsonObject取key值
- C#高级学习第三章LINQ
- UVA 10820——Send a Table(欧拉函数)
- 任学堂---Are you OK?成病毒 电脑中招后满屏生成小米logo
- Android控件架构与控件绘制
- 编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法
- MAAS+JUJU+CONJURE-UP全自动部署OPENSTACK
- tab标签切换
- 重拾Java EE(2)——CSS
- session