一些Linq方法,come on !!
bool b1 = users.All(u => u.ID == 21); 判断是否元素都满足条件,如果有一个不满足,则返回False,都满足则返回True
Any() bool b2 = users.Any(u => u.Age == 100); 判断是否有满足条件的,如果有就返回true,否则,返回false
double avgAge = users.Average(u => u.Age); 求某个属性的平均值,不可是字符串。返回的是一个double
bool b3 = users.Contains(u1); 注意:只有users中添加过u1,才真的是存在,就算users里有和u1一样的元素,也不包含
Count() int count = users.Count(u => u.Age > 30); 如果没有参数,那么值直接返回集合的行数,如果有表达式,就返回满足条件的个数
List<User> users2=users.Concat(users).ToList(); 将list和list2 进行拼接 再返回一个新的集合
List<User> users3 = users2.Distinct().ToList(); 去除重复的元素,返回新的集合
User u4 = users.ElementAt(0) // 效果 等同于 users[0] 但如果超出范围,会报错
User u5 = users.ElementAtOrDefault(1000); 和上面的方法类似,但是超出之后,不会报错,只会返回该类型的默认值
User u6 = users.Find(u => u.Age >= 1000); 获得第一个满足条件的元素,如果找不到,则返回该类型的默认值
List<User> users4 =users.FindAll(u => u.Gender == "女"); 获取所有满足条件的元素,将这些元素返回到一个新的集合 相反的是FindLastAll()
int index2 = users.FindIndex(3,5, u => u.Age == 22); 指定了开始的位置和结束的位置,相反的是FindLastIndex()
List<User> user5= users.GetRange(3, 4).ToList(); 从指定的位置开始,获得指定个数的元素,形成新集合
users.Max(u => u.Age); users.Min(u => u.Age); 最小与最大的
var users6= users.GroupBy(u => u.Gender).ToList(); 分组,键值对集合,
List<User> users7 = users.OrderBy(u => u.ID).ToList(); 根据某列进行排序,并返回新的集合 倒序是:users.OrderByDescending(u => u.ID).ToList();
users.RemoveAll(u => u.Age < 30); 删除所有满足条件的元素
users.RemoveRange(2, 4); 从指定位置开始,删除指定个数的元素
users.Reverse(); 对集合进行反转,如果指定哪里到哪里进行反转的话users.Reverse(0, 3);
int sum = users.Sum(u => u.Age); 对某列进行求和
users.Select(u=> new Hehe() { xxx=u.ID, aaa = u.Age }).ToList() 将现有集合中的元素 映射为 新类型 你也可以直接在后面的tolist上添加过滤linq语句
List<User> users9 = users.OrderBy(u => u.ID).Skip(4).Take(3).ToList(); skip()跳过多个元素,Take()是选择多少个
List<User> users10= users.Where(u=>u.Gender=="男1").ToList(); 获取所有满足条件的元素,并形成新的集合
一些Linq方法,come on !!的更多相关文章
- LINQ之路 4:LINQ方法语法
书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression). LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方 ...
- LINQ 方法
过滤操作符 Where 运算符(Linq扩展方法)根据给定条件过滤集合. 在其中扩展方法有以下两个重载.一个过载需要Func <TSource,bool>输入参数和第二个重载方法需要Fun ...
- 四:MVC之LINQ方法语法
linq 查询 有两种语法 ,前面我们说了一种,接下来说方法语法(我读着一直很绕口) 查询语法,方法语法 ------------------------以下文字都是复制-------------- ...
- 别再眼高手低了! 这些Linq方法都清楚地掌握了吗?
不要再眼高手低了,这些Enumerable之常见Linq扩展方法都清楚掌握了吗?其实这是对我自己来说的! 例如:一个人这个技术掌握了一点那个技术也懂一点,其他的好像也了解一些,感觉自己啥都会一点,又觉 ...
- Linq分组,linq方法分组
Group在SQL经常使用,通常是对一个字段或者多个字段分组,求其总和,均值等. Linq中的Groupby方法也有这种功能.具体实现看代码: 假设有如下的一个数据集: 01.public class ...
- Linq 查询 与方法调用
通常,使用linq查询时需要一个实现IQueryable<T> 的查询对象 public class DataA<T> : IQueryable<T> {....} ...
- 21扩展IEnumerable<T>泛型接口自定义LINQ的扩展方法
LINQ方法实际上是对IEnumerable<TSource>的扩展,如图: 本篇自定义一个MyWhere方法,达到与Where相同的效果. 使用LINQ自带的Where方法 ...
- linq查询语法和方法-簡單用法
來自:http://www.cnblogs.com/knowledgesea/p/3897665.html 1.简单的linq语法 //1 var ss = from r in db.Am_recPr ...
- EF中使用Linq时First、FirstOrDefault、Single、SingleOrDefault几个方法的区别
在使用EntityFramework开发时,.NET的System.Linq.Enumerable类为我们提供了许多Linq方法. 给大家分享一下关于First.FirstOrDefault.Sing ...
随机推荐
- 对JS 的classList 简单记录
一 对classList整体感觉 浏览器支持参考(http://www.runoob.com/jsref/prop-element-classlist.html) classList 是一个对象 ,返 ...
- IO流2
一.IO流简介及分类 1.IO流简介 IO流: 简单理解数据从一个地方流向另外一个地方 2.IO流分类 按照数据流动的方向 分为 输入流和输出流 按照数据流动的单位分为 字节流和字符流 二.四大 ...
- Linux-网络基础
1.如何将俩台不同网络中的电脑通信,见下图
- Android Studio 重写方法时参数命名异常
Android Studio 重写方法时参数命名异常 Android Studio 重写方法时参数名称乱掉可以通过下载相应源码解决
- centos docker-ce安装
懂得自然懂 https://yeasy.gitbooks.io/docker_practice/content/install/centos.html
- 畅通工程续 -- HDU 1874 floyd
题目大意: 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离. 思路: floyd算法模板题,这是一个牺牲空间换取时间的算法,本质是动态规划. AC代码: #include < ...
- 我的 FPGA 学习历程(09)—— 时序逻辑入门
讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 ...
- 同步计数器 CountDownLatch
CountDownLatch 是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行. CountDownLatch 是通过一个计数器来实现的,计数器的初始值为线程的数量.每 ...
- SpringBoot报错:Failed to load ApplicationContext(Mapped Statements collection already contains value)
错误提示: Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains v ...
- Mybatis Mapper文件中的一小坑
前几天来一需求,实现过程中需要修改一个底层的查询接口,具体修改就是在where中添加一个条件,由于这个底层SQL使用的地方太多,所以就想着是用if加一标识符做个判断,传一个只有我会使用的参数,然后动态 ...