C#语言中Linq扩展方法的使用
C# Linq
任何来源于Ienumerable
Where(x => x.length>3)
Select(x=>x)
All(x=>x.length>3) 确定是否所有元素序列都满足某种条件,如果每一个元素都可以满足设定的特殊条件或者它是空,则方法返回true,否则返回false。
Any(x=>x.length>3) 确定序列中的元素是否存在或者满足某种特定的条件
Average() Average 计算在序列中的数字的平均值
Average(x=>x*2)
Concat<>() 连接(拼接)两个序列.
listOne.Concat(listTwo).ToList();
Contains
用来判断在一个序列(集合)中是否存在一个特殊的元素.这个方法有两种重载方式,第一种是通过默认的比较器来判断序列(集合)中是否有特殊的元素,
另外一种是通过自定义IEqualityComparer
listOne.Contains(2);
Count 将返回序列(集合)中元素的个数
两个重载方法将会做如下操作.第一种重载直接返回序列(集合)中元素的个数,第二种重载返回一个数字,表示在序列(集合)中有多少元素满足指定的条件。
listOne.Count();
listOne.Count(item => item.Length > 3);
DefaultIfEmpty()
第一种重载将返回指定的元素序列(集合)或者当序列(集合)为空的情况下返回一个单例集合中类型参数的默认值.
第二种重载将返回指定的元素序列(集合)或者在序列(集合)为空的情况下返回一个单例集合中特定的值.
listOne.DefaultIfEmpty()
Distinct 将从序列(集合)中返回去重复(Distinct)元素
第一种重载通过默认比较器从序列(集合)中返回去重复的元素。第二种重载通过使用自定义IEquaityComparer
这个方法将会从列表(集合)中返回同一的项。如果我们有一个包含重复项的列表(集合),那么这个方法将会过滤掉重复的项并返回一个只包含单一值的新列表(集合)。
listOne.Distinct().ToList()
ElementAt(index) 在序列(集合)中,这个方法返回一个特定索引的一个元素.
ElementAtOrDefault
【C#语言中Linq扩展方法的使用】Empty 回一个指定类型参数的空Ienumerable
var list = Enumerable.Empty
Except() 可以用在从一个集合中删除一个项集合.它放回一个由两个序列产生的集合差.
第一种重载是利用默认的比较器生成两个序列的集合差.
比如,我有个由{1,2,3,4,5,6,7}组成的集合A和由{1,2,3}组成的集合B,A 除了(except) B 将会输出{4,5,6,7}
第二种重载是利用IEQualityComparer
firstNumbers.Except(secondNumbers).ToList(
First 返回序列中的第一个元素.
第一种重载将找出在序列中的第一个元素. numbers.First();
第二种重载将根据条件找出第一个元素. numbers.First(item => item > 3);
FirstOrDefault
它返回序列中第一个元素或者当没有元素未被找到时放回默认值.这个方法是First和Default的综合
Union 将会Union(并集)两个序列(集合).
例如,我们有两个集合,A={1,2,3,4,5,6,7}和B={5,6,7,8,9},并集A和B则返回{1,2,3,4,5,6,7,8,9}.在.NET中,它将连接两个列表(集合)并生成一个新列表(集合).
var result = firstList.Union(secondList);
Intersect 将产生两个序列的交集
第一种重载将会利用默认平等比较器来创建两个序列的交集,
第二种重载是利用IEqualityComparet
例如,如果我们有一个A列表{1,2,3,4,5}和B列表{4,5},取两者交集之后就会生成{4,5}.
var intersectResult = listA.Intersect(listB);
Last 它返回序列中最后一个元素.
第一种重载将会找出在序列中最后一个元素. numbers.Last();
第二种重载将根据条件找出最后一个元素. numbers.Last(item => item > 3);
LastOrDefault
它返回序列中最后一个元素或者当没有元素未被找到时放回默认值.这个方法是Last和Default的综合
LongCount 返回一个Int64去表示序列中元素的个数
第一种重载放回一个Int64,表示在序列中一共有多少个元素.
第二种重载是根据条件放回一个Int64,表示在条件范围内一共有多少个元素.
推荐阅读
- 夜游宫|夜游宫 心语
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 子龙老师语录
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 小学英语必考的10个知识点归纳,复习必备!
- 六步搭建ES6语法环境
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗