一些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 ...
随机推荐
- 权限的控制 shiro的使用
******shiro的使用 三大核心组件 Subject:即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用 ...
- Random Erasing Augmentation(REA)
为了增强模型的泛化的性能,一般的手段有数据增强和正则化方法(如dropout,BN),而用于数据增强的一般方法有:随机裁剪.随机水平翻转.平移.旋转.增加噪音和生成网络方法等(前两个方法用的最多,也最 ...
- 极简科普 1:什么是 VOIP
VoIP 的全称是 Voice over Internet Protocol.简单说,就是用过 IP 网络进行即时的语音/视频通信.注意,这里只强调了在传输过程中有使用 IP 网络,并没有说只通过 I ...
- MDK的一些小应用
一:MDK生成bin文件 Options(魔术棒) -> User -> After Build/rebuild -> Run#1(前边打钩) (后边的方框输入一段内容) ...
- kali渗透-基础篇
渗透之meterpreter 模拟场景:小明是我室友,整天游戏人生,浑浑噩噩,前途迷茫,每次上课交作业都要看我的,于是我开启了apche服务器,给他下载作业(别问我为什么不用QQ传,因为要装逼!),他 ...
- LocalDate、LocalDateTime、LocalTime开发小结
在我之前的文章<[整理]Java 8新特性总结 >中有提到Date/Time API (JSR 310)对日期与时间的处理.它将服务端对时间的处理进行了统一,使得对时间的处理更加规范和统一 ...
- [POJ1193][NOI1999]内存分配(链表+模拟)
题意 时 刻 T 内存占用情况 进程事件 0 1 2 3 4 5 6 7 8 9 进程A申请空间(M=3, P=10)<成功> 1 A 2 A B 进程B申请空间(M=4, P=3)< ...
- Textarea设置自动高度
$.fn.extend({ autoHeight: function() { return this.each(function() { var $this = jQuery(this); if(!$ ...
- spring-cloud-gateway负载普通web项目
spring-cloud-gateway负载普通web项目 对于普通的web项目,也是可以通过spring-cloud-gateway进行负载的,只是无法通过服务发现. 背景 不知道各位道友有没有使用 ...
- Oracle 存储过程 PROCEDURE
存储过程 一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一 ...