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, 它对程序中的元素进行标注,如类型.字段.方法 ...
随机推荐
- Inline Hook NtQueryDirectoryFile
Inline Hook NtQueryDirectoryFile 首先声明这个是菜鸟—我的学习日记,不是什么高深文章,高手们慎看. 都总是发一些已经过时的文章真不好意思,几个月以来沉迷于游戏也是时候反 ...
- YIi 使用 beginContent() 和 endContent() 设定 Yii 的 layouts
Yii 的 views/layouts 是用来放置 layouts 的目录,在默认的情况下会有 main.php 和 column1.php 和 column2.php. main.php 内容定义了 ...
- ASP.NET MVC4 UEditor 的上传图片配置路径
ASP.NET MV4下,使用UEditor1.4.3最新版本,网址就不说了,去百度官网下载即可,关于在Controler下如何配置,直接上图: 然后再Views下面来个页面引用如下: < ...
- 【CF】3B Lorry
这道题目网上有几个题解,均有问题.其实就是简单的贪心+排序,没必要做的那么复杂.一旦tot+curv > v时,显然curv==2, 有三种可能:(1)取出最小的curv==1的pp,装入当前的 ...
- POJ_2392_Space_Elevator_(动态规划,背包)
描述 http://poj.org/problem?id=2392 磊方块,每种方块有数量,高度,以及该种方块所能处在的最高高度.问最高磊多高? Space Elevator Time Limit: ...
- 利用spm提供的MoAEpilot听觉数据学习预处理以及单被试glm分析与统计推断
1.数据介绍 下载:http://www.fil.ion.ucl.ac.uk/spm/data/auditory/ SUBJECT:1 VOLUME: 64*64*64 TR:7s total acq ...
- [转]CharacterController与Rigidbody
From: http://blog.csdn.net/czlilove/article/details/9139103 今天下午碰到个问题纠结了很久:人物加上了Rigidbody并使用了重力,遇到悬崖 ...
- 如何设置SVN提交时强制添加注释
windows版本: 1.新建一个名为pre-commit.bat的文件并将该文件放在创建的库文件的hooks文件夹中 2.pre-commit.bat文件的内容如下: @echo off set S ...
- 64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法
原文地址:64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法 最近为使用Oracle11G数据库做个快速开发的小程序,使用64位Win2008+Vs2012环境,结果碰壁连环,幸好 ...
- ASP.NET MVC 中将FormCollection与实体间转换方法 (转)
将Action动作中传递的FormCollection转变成对应的实体,可以使用Controller的TryUpdateModel()方法. [HttpPost] public ActionResul ...