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

Definition

Umgeht eine angegebene Anzahl von Elementen in einer Sequenz und gibt dann die verbleibenden Elemente zurück.

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)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Ein IEnumerable<T> , von dem Elemente zurückgegeben werden sollen.

count
Int32

Die Anzahl der Elemente, die vor dem Zurückgeben der verbleibenden Elemente übersprungen werden sollen.

Gibt zurück

IEnumerable<TSource>

Ein IEnumerable<T> Element, das die Elemente enthält, die nach dem angegebenen Index in der Eingabesequenz auftreten.

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Skip eine bestimmte Anzahl von Elementen in einem Array übersprungen und die verbleibenden Elemente zurückgegeben werden.

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

Hinweise

Diese Methode wird mithilfe der verzögerten Ausführung implementiert. Der sofortige Rückgabewert ist ein Objekt, das alle Informationen speichert, die zum Ausführen der Aktion erforderlich sind. Die durch diese Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt aufgezählt wird, indem die GetEnumerator-Methode direkt oder mithilfe von foreach in C# oder For Each in Visual Basic aufgerufen wird.

Wenn source weniger Elemente enthalten count sind, wird ein leerer IEnumerable<T> Wert zurückgegeben. Wenn count sie kleiner oder gleich Null ist, werden alle Elemente source zurückgegeben.

Die Take Und Skip Methoden sind funktionale Ergänzungen. Bei einer Auflistungssequenz coll und einer ganzen Zahl nwerden die Ergebnisse coll.Take(n) verkettet und coll.Skip(n) die gleiche Sequenz zurückgegeben wie coll.

In Visual Basic Abfrageausdruckssyntax übersetzt eine Skip-Klausel in einen Aufruf von Skip.

Gilt für:

Weitere Informationen