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呼叫其方法, 或是在 Visual C#或For Each Visual Basic 中使用foreach來列舉物件之後, 才會執行。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. 指定序列collcoll.Skip(n)整數n coll, 串連的結果,並產生與相同的順序。coll.Take(n)Given 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子句會轉譯成的Skip調用。In Visual Basic query expression syntax, a Skip clause translates to an invocation of Skip.

適用於

另請參閱