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

Definition

Kringgår ett angivet antal element i en sekvens och returnerar sedan de återstående elementen.

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)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

Ett IEnumerable<T> att returnera element från.

count
Int32

Antalet element som ska hoppa över innan de återstående elementen returneras.

Returer

IEnumerable<TSource>

En IEnumerable<T> som innehåller de element som inträffar efter det angivna indexet i indatasekvensen.

Undantag

source är null.

Exempel

Följande kodexempel visar hur du använder Skip för att hoppa över ett angivet antal element i en matris och returnera de återstående elementen.

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

Console.WriteLine("All grades except the first three:");
foreach (int grade in grades.Skip(3))
{
    Console.WriteLine(grade);
}

/*
 This code produces the following output:

All grades except the first three:
 56
 92
 98
 85
*/
' 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 skippedGrades As IEnumerable(Of Integer) =
grades _
.Skip(3)

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

' This code produces the following output:
'
' All grades except the first three are:
' 56
' 92
' 98
' 85

Kommentarer

Den här metoden implementeras med uppskjuten körning. Det omedelbara returvärdet är ett objekt som lagrar all information som krävs för att utföra åtgärden. Frågan som representeras av den här metoden körs inte förrän objektet räknas upp antingen genom att anropa metoden GetEnumerator direkt eller med hjälp av foreach i C# eller For Each i Visual Basic.

Om source innehåller färre än count element returneras en tom IEnumerable<T> . Om count är mindre än eller lika med noll, returneras alla element source i.

Metoderna Take och Skip är funktionella komplement. Givet en samlingssekvens coll och ett heltal nsammanfogar du resultatet av coll.Take(n) och coll.Skip(n) ger samma sekvens som coll.

I Visual Basic frågeuttryckssyntax översätts en Skip-sats till ett anrop av Skip.

Gäller för

Se även