Linq中的Take和Skip

Linq中的Take和Skip

如果 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
*/

  

原文地址:https://www.cnblogs.com/ZkbFighting/p/13203439.html