Linq操作符之筛选特定位置的元素
Linq查询有不同类型的操作符,他们实现不同的功能。如果我们需要筛选特定位置上的元素则需要用到以下两个操作符skip和take。Skip是跳过序列中指定数量的元素,然后返回剩余的元素。Take是从序列的开通返回指定数量的连续元素。比如:实现返回从0-199的整数列中的第20位以后的连续整数,前40个连续整数或者是第20-30的连续整数,我们可以通过以下方式完成。
先初始化一个List<int>。
private List<int> GetAllNumber()
{
List<int> number=new List<int>();
for (int i=0;i<200;i++)
{
number.Add(i);
}
return number;
}
这里gvFont代表一个gridview{
List<int> number=new List<int>();
for (int i=0;i<200;i++)
{
number.Add(i);
}
return number;
}
1.第20位以后的连续整数
gvFont.DataSource = GetAllNumber().Skip(20).ToList();
2.前40个连续整数gvFont.DataSource = GetAllNumber().Take(40).ToList();
3.20-30的连续整数 gvFont.DataSource = GetAllNumber().Skip(20).Take(10).ToList();
当然我们还可以扩展一下,进行分页方面的实验如下所示Skip(pagesize*n).Take(pagesize);