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

Definitie

Slaat een opgegeven aantal elementen in een reeks over en retourneert vervolgens de resterende 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)

Type parameters

TSource

Het type van de elementen van source.

Parameters

source
IEnumerable<TSource>

Een IEnumerable<T> om elementen van te retourneren.

count
Int32

Het aantal elementen dat moet worden overgeslagen voordat de resterende elementen worden geretourneerd.

Retouren

IEnumerable<TSource>

Een IEnumerable<T> die de elementen bevat die plaatsvinden na de opgegeven index in de invoerreeks.

Uitzonderingen

source is null.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Skip u een opgegeven aantal elementen in een matrix overslaat en de resterende elementen retourneert.

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

Opmerkingen

Deze methode wordt geïmplementeerd met behulp van de uitgestelde uitvoering. De onmiddellijke retourwaarde is een object waarin alle informatie wordt opgeslagen die nodig is om de actie uit te voeren. De query die door deze methode wordt vertegenwoordigd, wordt pas uitgevoerd nadat het object is geïnventariseerd door de methode GetEnumerator rechtstreeks aan te roepen of door foreach te gebruiken in C# of For Each in Visual Basic.

Als source er minder dan count elementen zijn, wordt een lege IEnumerable<T> waarde geretourneerd. Als count deze kleiner is dan of gelijk is aan nul, worden alle elementen source geretourneerd.

De Take en Skip methoden zijn functionele aanvullingen. Gezien een verzamelingsreeks coll en een geheel getal n, worden de resultaten samengevoegd coll.Take(n) en coll.Skip(n) wordt dezelfde reeks geretourneerd als coll.

In Visual Basic syntaxis van de query-expressie wordt een Skip-component omgezet in een aanroep van Skip.

Van toepassing op

Zie ook