Linq扩展方法之All 、Any
// Summary:
// 确定序列中的所有元素是否满足条件。
// Parameters:
// source:包含要应用谓词的元素的 System.Collections.Generic.IEnumerable`1。
// predicate:用于测试每个元素是否满足条件的函数。
// Type parameters:
// TSource:source 中的元素的类型。
// Returns:如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true;否则为 false。
// Exceptions:T:System.ArgumentNullException:source 或 predicate 为 null。
public static bool All<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate); int[] numbers1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var bl = numbers1.All(val => val > 10);
All 确定序列中的所有元素是否满足条件。
Any 确定序列是否包含任何元素。
// Summary: 确定序列是否包含任何元素。
// Parameters:
// source:要检查是否为空的 System.Collections.Generic.IEnumerable`1。
// Type parameters:
TSource:source 中的元素的类型。
// Returns:如果源序列包含任何元素,则为 true;否则为 false。
// Exceptions:T:System.ArgumentNullException:source 为 null。
public static bool Any<TSource>(this IEnumerable<TSource> source);
var bl2 = numbers1.Any();
方法二:
// Summary:确定序列中的任何元素是否都满足条件。
// Parameters:
// source:一个 System.Collections.Generic.IEnumerable`1,其元素将应用谓词。
// predicate:用于测试每个元素是否满足条件的函数。
// Type parameters:
// TSource: source 中的元素的类型。
// Returns:如果源序列中的任何元素都通过指定谓词中的测试,则为 true;否则为 false。
// Exceptions:
// T:System.ArgumentNullException: source 或 predicate 为 null。
public static bool Any<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
var bl3 = numbers1.Any(val => val%2 == 0);
//创建一个整型数组
int[] intArray = new int[] { 0, 1, 2, 3 };
//声明Func委托, 判断是否是奇数
Func<int, bool> IsOdd = i => ((i % 2) == 0);(3)
//执行查询操作, 别忘了具有"延迟特性"
var items = intArray.Any(IsOdd);(4)
//(3)(4)可以改写为一句代码 var items = intArray.Any(i => ((i % 2) == 0));
//显示结果
foreach (int item in items)
Console.WriteLine(item);
Console.ReadLine();
Linq扩展方法之All 、Any的更多相关文章
- Linq扩展方法之Aggregate 对序列应用累加器函数
Linq扩展方法之Aggregate 对序列应用累加器函数; 函数模板:// 函数名:对序列应用累加器函数. // Parameters:参数要求 // source:要聚合的 System.Col ...
- 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法
比如Json.NET的JObject明明实现了IEnumerable<T>,具体来说是IEnumerable<KeyValuePair<string, JToken>&g ...
- 用LinQ扩展方法,泛型扩展方法,实现自定义验证字符是否空、对象是否为null,及泛型约束使用,Action的使用
一.Linq扩展方法 1.扩展方法必须是静态方法.扩展方法所在的类必须是静态类 2.扩展方法里面的参数必须制定this关键字,紧跟需要扩展的类型,如下: 二.泛型约束 1.使用泛型的原因,是在不知道需 ...
- ABP框架源码中的Linq扩展方法
文件目录:aspnetboilerplate-dev\aspnetboilerplate-dev\src\Abp\Collections\Extensions\EnumerableExtensions ...
- 【手记】走近科学之为什么JObject不能调用LINQ扩展方法
Json.NET的JObject明明实现了IEnumerable<T>,具体来说是IEnumerable<KeyValuePair<string, JToken>> ...
- LinQ—扩展方法
概述 本节主要解说扩展方法,涉及LinQ的详细知识不多. 扩展方法的描写叙述 .net framework为编程人员提供了非常多的类,非常多的方法,可是,不论.net framework在类中为我们提 ...
- Linq扩展方法获取单个元素
在使用Linq 提供的扩展方法时,First(OrDefault), Single(OrDefault), Last(OrDefault)都具有返回单个元素的功能.MSDN对这些方法的描述只有功能说明 ...
- Stackoverflow 珠玑:用于分组的 LINQ 扩展方法
从 stackoverflow.com 上抄来的,将 IEnumerable 中的元素进行切分的方法,无动态内存分配,地球上最快的实现: public static class LinqExtensi ...
- C#高级知识点概要(3) - 特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询
1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法 ...
随机推荐
- queue与topic的技术特点对比
1 queue与topic的技术特点对比 Topic Queue 概要 Publish Subscribe messaging 发布订阅消息 Point-to-Point 点对点 有无状态 to ...
- PAIP.提升效率----论项目知识库的建设。。
PAIP.提升效率----论项目知识库的建设.. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net ...
- windows 挂载windows 共享盘为本地磁盘
我们在设置数据库自动备份时,为了数据的安全往往需要直接将数据备份到远程服务器上.在Linux可以通过NFS挂载来实现,在Windows平台可以直接通过net use+subst来实现将远程服务器的目录 ...
- 转载:java保留2位小数
转载:http://blog.csdn.net/wj_j2ee/article/details/8560132 java保留两位小数问题: 方式一: 四舍五入 double f = 11 ...
- FFT小结
先上模板 #include<cstdio> #include<cmath> <<)*+; typedef long long ll; ll power(ll t,; ...
- glsl-BufferObject- change
修改其值的最快方式: 创建: Mutable Storage To create mutable storage for a buffer object, you use this API: void ...
- JAVA--线程wait()、lnotify()和notifyAll()方法
join()方法是Thread类的一个方法,而wait().notify().notifyAll()是java.lang.Object类的方法,这意味着,任何一个Java对象(包括线程对象)都有wai ...
- PL/SQL练习
简单结构 set serveroutput on; DECLARE v_name ); BEGIN v_name := 'hello'; dbms_output.put_line(v_name); E ...
- poj 2553 The Bottom of a Graph【强连通分量求汇点个数】
The Bottom of a Graph Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 9641 Accepted: ...
- zoj 3878 Convert QWERTY to Dvorak【好坑的模拟】
Convert QWERTY to Dvorak Time Limit: 2 Seconds Memory Limit: 65536 KB Edward, a poor copy typis ...