C# Linq的Skip()方法 – 跳过序列中指定数量的元素并返回剩余元素

  • Post category:C#

C# Linq中的Skip()函数用于跳过一个序列中的指定数量的元素,然后返回剩余的元素。下面是Skip()函数的语法:

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

其中:

  • source表示要过滤的原始序列。
  • count表示要跳过的元素数量。

Skip()函数的返回值是IEnumerable类型的集合。

下面是Skip()函数的几个示例:

示例一:

var numbers = new List<int> {1, 2, 3, 4, 5, 6, 7};
var result = numbers.Skip(3);

foreach (var number in result)
{
    Console.WriteLine(number);
}

// 输出
// 4
// 5
// 6
// 7

在这个示例中,我们首先定义了一个名为numbers的List集合,其中包含1~7的7个数字。接着,我们调用了Skip(3)方法,表示跳过前3个元素。最后,我们遍历了result集合,并输出其中的每一个元素。

示例二:

var students = new List<Student> 
{
    new Student { Name = "Tom", Age = 18 },
    new Student { Name = "Jack", Age = 20 },
    new Student { Name = "Mary", Age = 19 }
};
var result = students.OrderBy(s => s.Age).Skip(1);

foreach (var student in result)
{
    Console.WriteLine($"{student.Name} - {student.Age}");
}

// 输出
// Mary - 19
// Jack - 20

在这个示例中,我们首先定义了一个名为students的List集合,其中包含三个学生对象。然后,我们调用OrderBy()方法,对学生集合进行按年龄升序排序。接着,我们调用Skip(1)函数,表示跳过第一个元素(即最小年龄的那个学生)。最后,我们遍历了result集合,并输出每个学生的名字和年龄。