Linq中Take、TakeWhile、Skip、SkipWhile的比较(转)
2017-01-08 20:46
501 查看
参考文章:http://blog.csdn.net/lxfzgg/article/details/20534281
[b]Take()[/b]
[b]TakeWhile()[/b]
[b] Skip()[/b]
[b]SkipWhile()[/b]
[b]Take()[/b]
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var first3Numbers = numbers.Take(3); //从第一个元素开始,获取三个 return的是前面的数 Console.WriteLine("First 3 numbers:"); foreach (var n in first3Numbers) { Console.WriteLine(n);//结果 5 4 1 }
[b]TakeWhile()[/b]
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; //在这里需要注意.使用TakeWhile获取小于6的元素,是从第一个元素开始, //一直到不满足其小于6这个条件为止.也就是执行到和9这个元素比较后,就结束比较了 //可以想象一下执行过程. //5<6=true;4<6=true;1<6=true;3<6=true //9<6=false; 这里就停止继续比较了 var firstNumbersLessThan6 = numbers.TakeWhile(n => n < 6); Console.WriteLine("First numbers less than 6:"); foreach (var n in firstNumbersLessThan6) { Console.WriteLine(n);//结果为 5 4 1 3 }
[b] Skip()[/b]
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var allButFirst4Numbers = numbers.Skip(4); //跳过前四个元素,获取后面所有的元素 Console.WriteLine("All but first 4 numbers:"); foreach (var n in allButFirst4Numbers) { Console.WriteLine(n);//结果9 8 6 7 2 0 }
[b]SkipWhile()[/b]
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; //跳过不能被3整除的所有元素 //这里和TakeWhiel又有些不一样。 //TakeWhile遇到条件不满足的时候,就会return, //但是SkipWhile如果执行到能被三整除的数,那么其后面的元素就不会继续比较了 //同样,想象一下执行过程 //5%3!=0==true; 4%3!=0==true; 1%3!=0==true; //3%3!=0==false; 运行到这里的时候,后面的就不再比较. //所以输出结果中会有8、7、2、0这几个不满足条件的元素 var allButFirst3Numbers = numbers.SkipWhile(n => n % 3 != 0); foreach (var n in allButFirst3Numbers) { Console.WriteLine(n);//结果3 9 8 6 7 2 0 }
相关文章推荐
- Linq中Take、TakeWhile、Skip、SkipWhile的比较
- Linq中Take、TakeWhile、Skip、SkipWhile的比较
- Linq中Take、TakeWhile、Skip、SkipWhile的比较
- Linq中Take、TakeWhile、Skip、SkipWhile的比较
- Linq中Take、TakeWhile、Skip、SkipWhile的比较
- LINQ 标准的查询操作符 分区 Take 、Skip 、TakeWhile 、SkipWhile
- [转]C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等
- 步步为营VS 2008 + .NET 3.5(6) - LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefaul
- LINQ 标准的查询操作符 分区 Take 、Skip 、TakeWhile 、SkipWhile
- linq distinct、union、concat、intersect、except、skip、take、skipwhile、takewhile、
- 步步为营VS 2008 + .NET 3.5(6) - LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefault、Reverse、SelectMany
- Linq中Skip和Take用法(TakeWhile和SkipWhile用法)
- LINQ 标准的查询操作符 分区 Take 、Skip 、TakeWhile 、SkipWhile
- LINQ 标准的查询操作符 分区 Take 、Skip 、TakeWhile 、SkipWhile
- 步步为营VS 2008 + .NET 3.5(6) - LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefaul
- 6、步步为营VS 2008 + .NET 3.5(6) - LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefault、Reverse、SelectMany
- C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等
- Linq 入门系列 [Take,Skip,TakeWhile,SkipWhile]篇
- Linq 入门系列 [Take,Skip,TakeWhile,SkipWhile]篇
- LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhi