Linq中的TakeWhile和SkipWhile的用法
2015-08-21 11:11
483 查看
Linq中的SkipWhile
1、含义
(1)、对数据源进行枚举,从第一个枚举得到的元素开始,调用客户端的predicate
(2)、如果返回true,则跳过该元素,继续进行枚举操作.
(3)、但是,如果一旦predicate返回为false,则该元素以后的所有元素,都不会再调用predicate,而全部枚举给客户端.
2、实例
二、Linq中的TakeWhile
1、含义
(1)、对数据源进行枚举,从第一个枚举得到的元素开始,调用客户端传入的predicate( c.Name == ""woodyN")
(2)、如果这个predicate委托返回true的话,则将该元素作为Current元素返回给客户端,并且,继续进行相同的枚举,判断操作.
(3)、但是,一旦predicate返回false的话,MoveNext()方法将会返回false,枚举就此打住,忽略剩下的所有元素.
2、实例
参考资料:Linq中的TakeWhile和SkipWhile http://www.studyofnet.com/news/872.html
本文出自 “学习也休闲” 博客,请务必保留此出处http://studyofnet.blog.51cto.com/8142094/1686772
1、含义
(1)、对数据源进行枚举,从第一个枚举得到的元素开始,调用客户端的predicate
(2)、如果返回true,则跳过该元素,继续进行枚举操作.
(3)、但是,如果一旦predicate返回为false,则该元素以后的所有元素,都不会再调用predicate,而全部枚举给客户端.
2、实例
int[] grades = { 59, 82, 70, 56, 92, 98, 85 }; IEnumerable<int> lowerGrades = grades .OrderByDescending(grade => grade) .SkipWhile(grade => grade >= 80); Console.WriteLine("All grades below 80:"); foreach (int grade in lowerGrades) { Console.WriteLine(grade); } /**//* This code produces the following output: All grades below 80: 70 59 56 */
二、Linq中的TakeWhile
1、含义
(1)、对数据源进行枚举,从第一个枚举得到的元素开始,调用客户端传入的predicate( c.Name == ""woodyN")
(2)、如果这个predicate委托返回true的话,则将该元素作为Current元素返回给客户端,并且,继续进行相同的枚举,判断操作.
(3)、但是,一旦predicate返回false的话,MoveNext()方法将会返回false,枚举就此打住,忽略剩下的所有元素.
2、实例
string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" }; IEnumerable<string> query = fruits.TakeWhile(fruit => String.Compare("orange", fruit, true) != 0); foreach (string fruit in query) { Console.WriteLine(fruit); } /**//* This code produces the following output: apple banana mango */
参考资料:Linq中的TakeWhile和SkipWhile http://www.studyofnet.com/news/872.html
本文出自 “学习也休闲” 博客,请务必保留此出处http://studyofnet.blog.51cto.com/8142094/1686772
相关文章推荐
- c# List<T>与ObservableCollection<T>
- Openstack kilo指南安装与实践(1)
- 测试Heartbeat
- Android中处理崩溃异常
- linux遍历目录C语言
- UVAlive 3662 Another Minimum Spanning Tree 莫队算法,曼哈顿最小生成树
- PostgreSQL学习手册-模式Schema(转)
- Quartz.net 的简单使用,创建定时任务
- 正则表达式1
- Angularjs中作用域与模板之间的关系
- 为什么8位有符号数的范围为“-128 — +127”?(转载加补充)
- SQL-Oracle异常--java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配
- 字符串按位置复制,并统计新字符串长度
- Quartz2d从易到难全解析---贝塞尔曲线的绘制、上下文栈的概念、矩阵转换的使用
- linux下使用crontab定时备份MYSQL数据库的方法
- 多线程的同步和互斥简介
- C/C++中的常量指针与指针常量(转)
- Android Handler Demo
- CSS基础知识学习笔记
- 修改SQL Server 2005 数据库文件名字