LINQ
来源:互联网 发布:多线程编程demojava 编辑:程序博客网 时间:2024/06/08 15:36
分组查询:根据一个关键字对查询结果分组,可以使用 group 子句。
var countries = from r in Formula1.GetChampions() group r by r.Country into g orderby g.Count() descend,g.Key where g.Count() >=2 select new { Country = g.Key, Count = g.Count(); };foreach (var item in countries){ Console.WriteLine(“{0,-10} {1}”,item.Country,item.Count);}
如果需要根据对象的一个成员进行筛选,而该成员本身是一个系列,就可以使用复合的from子句。
var ferrarDrivers = from r in Formula1.GetChampions() from c in r.Cars where c == “Ferrari” orderby r.LastName select r.FirstName + “ ” + r.LastName;
类型筛选
Object[] data = { “one”,2,3,”four”,”five”,6 };var query = data.OfType<string>();foreach(var s in query){ Console.WriteLine(s);}
索引筛选
var racers = Formula1.GetChampions(). Where((r,index)=>r.LastName.StartsWith(“A”) && index % 2 != 0);foreach(var r in races){ Console.WriteLine(“{0:A}”,r);}
GroupBy、 ToLookUp 组合运算符把数据放在组中。GroupBy 操作符组合有公共键的元素。ToLookUp 通过创建一个一对多字典,来组合元素
Any、 All 、Contains(限定符操作符) | 如果元素序列满足指定的条件,量词操作符就返回布尔值。Any确定集合中是否有满足谓词函数的元素;All 确定集合中的所有元素都满足谓词函数。Contains 检查某个元素是否在集合中 |
Take、Skip、TakeWhile(分区操作符)| Take 必须指定要从集合中提取的元素个数;Skip 跳过指定的元素个数,提取其他元素;TakeWhile 提取条件为真的元素
Distinct、Union、Intersect、Except、Zip(Set操作符) Distinct 从集合中删除重复的元素。Zip 求合集,Union 求并集,Intersect全集,Except求非并集
First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Single、SingleOrDefault
Count、Sum、Min、Max、Average、Aggregate 聚合操作符
ToArray、ToEnumerable、ToList、ToDictionary、Cast 转换操作符
Empty、Range、Repeat 生成操作符返回一个新集合
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- LINQ
- Struts2之Action类概要
- thinkphp3.2 更新数据表某一字段的全部内容
- ireport导出pdf(二)
- Error:(15) No resource identifier found for attribute 'roundIcon' in package 'android'
- ios-autolayout添加约束的规则
- LINQ
- git代理设置方法解决
- static_cast,dynamic_cast,const_cast,reinterpret_cast使用总结
- hdu1722
- 第2条:遇到多个构造器参数时要考虑用构建器
- C++——NOIP2016提高组day1 t2——天天爱跑步
- 【“盛大游戏杯”第15届上海大学程序设计联赛 O】【爆搜 最短路】随机传送 需要补题解
- Android_Service与Activity的通信
- 剑指offer在线编程(二)