C#LINQ-分区运算符

开发工具与关键技术:C#
作者:张俊辉
撰写时间:2019年06月8日

Take 获取,获取几条数据,例如:使用Take仅获取数组的前3个元素。
首先声明一个数组如下:int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
然后使用Take仅获取该数组的前3个元素:var number = numbers.Take(3);
遍历输出结果如下:
在这里插入图片描述
Skip 跳过,跳过多少条数据,使用上方的数组,例如: 使用Skip来获取数组的前4个元素之外的所有元素: var number = numbers.Skip(4);
遍历输出结果如下:
在这里插入图片描述
可以结合使用达到提取某一段元素的效果,同样使用上方数组,例如:从数组的第四个元素开始提取五个元素: var number = numbers.Skip(3).Take(5);
遍历输出结果如下:
在这里插入图片描述
TakeWhile 获取满足条件前的元素,同样使用上方数组,例如: 使用TakeWhile返回从数组开头开始的元素,直到命中的数字不小于6:var number = numbers.TakeWhile(n => n < 6);
遍历输出结果如下:
在这里插入图片描述

再例如:使用TakeWhile返回从数组开头开始的元素,直到命中的数字小于其在数组中的位置:
var number = numbers.TakeWhile((n, index) => n >= index);
遍历输出结果如下:
在这里插入图片描述
SkipWhile 从满足条件的元素开始获取后边的元素 ,同样使用上方数组,例如: 使用SkipWhile从第一个可被3整除的元素开始获取数组的元素:
var number = numbers.SkipWhile(n => n % 3 != 0);
遍历输出如下:
在这里插入图片描述
再例如:使用SkipWhile从第一个小于其位置的元素开始获取数组的元素:
var number = numbers.SkipWhile((n, index) => n >= index);
遍历输出结果如下:
在这里插入图片描述
结合上方的运算符可以满足不同条件的分区:例如: 从第一个可被3整除的元素开始获取3个元素:
var number = numbers.SkipWhile(n => n % 3 != 0).Take(3);
遍历输出结果如下:
在这里插入图片描述

或者: 从数组的第3个元素开始提取直到命中的数字不小于6:
var number = numbers.Skip(2).TakeWhile(n => n < 6);
遍历输出结果如下:
在这里插入图片描述
再或者:从第一个可被2整除的元素开始获取,直到命中的数字不小于6:
var number = numbers.SkipWhile(n => n % 2 != 0).TakeWhile(n => n < 6 );
遍历输出结果如下:
在这里插入图片描述
还可以:第一个小于其位置的元素开始获取直到命中的数字小于其在数组中的位置
var number = numbers.SkipWhile((n, index) => n >= index).TakeWhile((n, index) => n >= index);
遍历结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值