Enumerable.Skip(IEnumerable<TSource>, Int32) Enumerable.Skip(IEnumerable<TSource>, Int32) Enumerable.Skip(IEnumerable<TSource>, Int32) Enumerable.Skip(IEnumerable<TSource>, Int32) Method

定義

略過指定的數目的序列中的項目,然後傳回其餘項目。Bypasses a specified number of elements in a sequence and then returns the remaining elements.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Skip(System::Collections::Generic::IEnumerable<TSource> ^ source, int count);
public static System.Collections.Generic.IEnumerable<TSource> Skip<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);
static member Skip : seq<'Source> * int -> seq<'Source>
<Extension()>
Public Function Skip(Of TSource) (source As IEnumerable(Of TSource), count As Integer) As IEnumerable(Of TSource)

類型參數

TSource

source 項目的類型。The type of the elements of source.

參數

source
IEnumerable<TSource>

IEnumerable<T>傳回項目的。An IEnumerable<T> to return elements from.

count
Int32 Int32 Int32 Int32

傳回其餘項目之前要略過的項目數目。The number of elements to skip before returning the remaining elements.

傳回

IEnumerable<TSource>

IEnumerable<T> ,其中包含輸入序列中指定之索引後面出現的項目。An IEnumerable<T> that contains the elements that occur after the specified index in the input sequence.

例外狀況

範例

下列程式碼範例示範如何使用Skip略過指定的已排序陣列中的元素數目,並傳回其餘項目。The following code example demonstrates how to use Skip to skip a specified number of elements in a sorted array and return the remaining elements.

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

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

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
*/
' Create an array of integers that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the numbers in descending order and
' get all but the first (largest) three numbers.
Dim lowerGrades As IEnumerable(Of Integer) =
grades _
.OrderByDescending(Function(g) g) _
.Skip(3)

' Display the results.
Dim output As New System.Text.StringBuilder("All grades except the top three are:" & vbCrLf)
For Each grade As Integer In lowerGrades
    output.AppendLine(grade)
Next
MsgBox(output.ToString())

' This code produces the following output:
'
' All grades except the top three are:
' 82
' 70
' 59
' 56

備註

實作這個方法是使用延後的執行。This method is implemented by using deferred execution. 立即傳回值是儲存,才能執行此動作的所有資訊的物件。The immediate return value is an object that stores all the information that is required to perform the action. 這個方法所表示的查詢不會執行直到列舉物件可以藉由呼叫其GetEnumerator方法直接或透過foreachVisual C# 中或For EachVisual Basic 中。The query represented by this method is not executed until the object is enumerated either by calling its GetEnumerator method directly or by using foreach in Visual C# or For Each in Visual Basic.

如果source包含少於count項目、 空白IEnumerable<T>會傳回。If source contains fewer than count elements, an empty IEnumerable<T> is returned. 如果count小於或等於零的所有項目source產生。If count is less than or equal to zero, all elements of source are yielded.

TakeSkip方法都是功能補充項目。The Take and Skip methods are functional complements. 從指定的序列coll和一個整數n,串連的結果coll.Take(n)coll.Skip(n)會產生相同的順序為collGiven a sequence coll and an integer n, concatenating the results of coll.Take(n) and coll.Skip(n) yields the same sequence as coll.

在 Visual Basic 查詢運算式語法中,Skip子句會轉譯成的引動過程SkipIn Visual Basic query expression syntax, a Skip clause translates to an invocation of Skip.

適用於

另請參閱