Linq中的Take和Skip

Linq中的Take和Skip

var tempsku = skus.Skip(1).Take(5);

这个就是skus中的值,跳过第一个,取后面五个;

返回的类型是int string 就是对象skus

public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source, int count);

Take()方法的作用就是:从查询结果中提取前n个结果

Skip()方法正好是Take()方法的反面,它可以跳过前n个结果,返回剩余的结果

如果 count 小于等于零,则不枚举 source,并返回空的 IEnumerable<T>。

Take<TSource> 和 Skip<TSource> 方法在功能上补充。 如果给定一个序列 coll 和一个整数 n,则连接 coll.Take(n) 和 coll.Skip(n) 的结果会生成与 coll 相同的序列。

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
IEnumerable<int> topThreeGrades = grades.OrderByDescending(grade => grade).Take(3);
//take 就是获取
Console.WriteLine("The top three grades are:");

foreach (int grade in topThreeGrades)
{
  Console.WriteLine(grade);
}
/*
This code produces the following output:
The top three grades are:
98
92
85
*/ 

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
IEnumerable<int> lowerGrades =  grades.OrderByDescending(g => g).Skip(3);
 //Skip就是跳过
Console.WriteLine("All grades except the top three are:");
foreach (int grade in lowerGrades)
 {
   Console.WriteLine(grade);
 }
 /*
    This code produces the following output:
    All grades except the top three are:
    82
    70
    59
    56
*/

  

posted @ 2020-06-28 16:07  ProZkb  阅读(666)  评论(0编辑  收藏  举报