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, 它对程序中的元素进行标注,如类型.字段.方法 ...
随机推荐
- 【CF】142 Div.1 B. Planes
SPFA.注意状态转移条件,ans的求解需要在bfs中间求解.因为只要到了地点n,则无需等待其他tourist.还是蛮简单的,注意细节. /* 229B */ #include <iostrea ...
- HDOJ --- 1258
#include<map> #include<string> #include<cstdio> #include<cstring> #include&l ...
- AppFabric 版本区分
目前CSDN上可以下载到的 AppFabric有两个版本: 1, WindowsServerAppFabricSetup_x64_6.1.exe, 2010/12/3 发布的, 不推荐使用,Wi ...
- ASP.NET生命周期详解 [转]
最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...
- 获取客户端IP地址 via C#
获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己在项目中做过的事情,同 ...
- [ZETCODE]wxWidgets教程九:组件专题2
本教程原文链接:http://zetcode.com/gui/wxwidgets/widgetsII/ 翻译:瓶哥 日期:2013年12月15日星期日 邮箱:414236069@qq.com 主页:h ...
- 字符串hash函数
本文搜集了一些字符串的常用hash函数. 范例1:判断两个单词是否含有相同的字母,此时我们可以用hash做.例如,“aaabb”与"aabb"含有相同的单词.(参考:http:// ...
- 基于粒子群算法求解求解TSP问题(JAVA)
一.TSP问题 TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...
- Android中shape属性详解
一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.x ...
- Quartz定时任务学习(五)触发器
顾名思义,Trigger(触发器)的责任就是触发一个 Job 去执行.当用 Scheduler 注册一个 Job 的时候要创建一个 Trigger 与这个 Job 相关联.Quartz 提供了四种类型 ...