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, 它对程序中的元素进行标注,如类型.字段.方法 ...
随机推荐
- oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)
oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...
- 【HDOJ】2209 翻纸牌游戏
状态压缩+双向广搜.注意控制时间t. /* 2209 */ #include <iostream> #include <string> #include <map> ...
- 深入详解SQL中的Null
深入详解SQL中的Null NULL 在计算机和编程世界中表示的是未知,不确定.虽然中文翻译为 “空”, 但此空(null)非彼空(empty). Null表示的是一种未知状态,未来状态,比如小明兜里 ...
- Ehcache Java开源缓存框架
一.ehcache.xml 配置详解 单机配置: <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
- CentOS升级Python的方法
centOS内核版本为:3.10.101-1.el6.elrepo.x86_64 1,下载Python安装包 wget http://www.python.org/ftp/python/2.7.6/P ...
- 用C++的类做三种优先队列的实现
学过数据结构的都知道优先队列这种东西,普通的队列是依据入队顺序,先入队的先出队,而优先队列则是依照键值,键值越大(或越小),就越先出队. 所以,优先队列基本支持push,pop,empty,size, ...
- MySQL WorkBench中文教程
在网上找到了一份MySQL WorkBench的教程,点此可以下载Work Bench教程(原文),为了便于学习和交流,请朋友帮忙翻译成了中文,点此可以下载Work Bench教程(中文翻译版). 具 ...
- IIS- ASP站点布署时查看ASP错误信息
ASP使用的脚本是VBSCRIPT,布置的时候想显示他的错误信息,可以在INTERNET选项里把显示友好http错误信息的勾去掉 就能查看ASP布署时查看错误信息的勾去掉.
- DevExpress GridControl 后台设置列
/// <summary> /// 初始化GridView /// </summary> /// <param name="gv">GridVi ...
- 设计 REST 风格的 MVC 框架
http://www.ibm.com/developerworks/cn/java/j-lo-restmvc/ 传统的 JavaEE MVC 框架如 Struts 等都是基于 Action 设计的后缀 ...