一些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 ...
随机推荐
- 3步永久性激活pycharm 亲测有效
----------破解后,有效时间会到2099年------------ 1.下载JAR包:此JAR包的目的就是让截获截止时间并骗过pycharm 链接:https://pan.baidu.com/ ...
- Java 多文件压缩成一个文件工具类
简单修改来自博客园勇闯天涯zfc的博客 一.内容 ①使用 Java 将多个文件打包压缩成一个压缩文件: ②主要使用 java.io 下的类 二.源代码:ZIPUtil .java import jav ...
- itunes 备份导致C盘空间不足问题解决办法
首先,itunes备份的默认路径是 C:\users\你的用户名\Appdata\Roaming\Apple computer 备份的主要存放文件在C:\Users\David_lu\AppData\ ...
- c++编辑器配置
notepad++ cmd /k cd /d "$(CURRENT_DIRECTORY)" & g++ "$(FILE_NAME)" -o " ...
- 面试题int和Integer
int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...
- maven项目如何手动打包
1.确定打包对象:dubbo-admin 2.进入打包对象目录,复制目录路径(D:\H\dubbox-master\dubbo-admin). 可以看到该对象为典型的maven目录,此时没有“targ ...
- Cocos2d-js和Android交互
说白了,就是JavaScript和Java之间的函数互相调用. 先看一下效果 有了这个交互,为了以后接sdk做准备. 要点: javascript调用java: jsb.reflection.call ...
- Makefile = ?= := 区别 $@,$^,$<
= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将会是整 ...
- md5 加密文件
import hashlibimport os def get_md5(file_path): md5 = None if os.path.isfile(file_path): f = open(fi ...
- 让数字变化炫酷起来,数字滚动Text组件[Unity]
让数字滚动起来 上周我的策划又提了样需求,当玩家评分发生变动时,屏幕出现人物评分浮层UI,播放评分数字滚动动画.这类数字滚动需求非常常见,我就按一般思路,将startvalue与endvalue每隔一 ...