导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Enumerable.Skip<TSource> 方法

2013/12/13

跳过序列中指定数量的元素,然后返回剩余的元素。

Namespace:  System.Linq
程序集:  System.Core(位于 System.Core.dll 中)

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

类型参数

TSource

source 中的元素的类型。

参数

source
类型: System.Collections.Generic.IEnumerable<TSource>
一个 IEnumerable<T>,用于从中返回元素。
count
类型: System.Int32
返回剩余元素前要跳过的元素数量。

返回值

类型: System.Collections.Generic.IEnumerable<TSource>
一个 IEnumerable<T>,包含输入序列中指定索引后出现的元素。

用法说明

在 Visual Basic 和 C# 中,您可以对类型为 IEnumerable<TSource> 的任何对象调用此方法作为实例方法。使用实例方法语法来调用此方法时,忽略第一个参数。

异常条件
ArgumentNullException

sourcenull

此方法通过使用延迟执行实现。 即时返回值为一个对象,该对象存储执行操作所需的所有信息。 只有通过直接调用对象的 GetEnumerator 方法或使用 Visual C# 中的 foreach(或 Visual Basic 中的 For Each)来枚举该对象时,才执行此方法表示的查询。

如果 source 包含的元素数少于 count,则返回一个空 IEnumerable<T>。 如果 count 小于或等于零,则生成 source 的所有元素。

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

在 Visual Basic 查询表达式语法中,Skip 子句转换为 Skip<TSource> 的一个调用。

下面的代码示例演示如何使用 Skip<TSource> 跳过排序数组中指定的元素数目,并返回剩余元素。


      int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

      IEnumerable<int> lowerGrades =
          grades.OrderByDescending(g => g).Skip(3);

      outputBlock.Text += "All grades except the top three are:" + "\n";
      foreach (int grade in lowerGrades)
      {
         outputBlock.Text += grade + "\n";
      }

      /*
       This code produces the following output:

       All grades except the top three are:
       82
       70
       59
       56
      */



Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft