Queryable.Skip<TSource>(IQueryable<TSource>, Int32) Methode

Definition

Umgeht eine festgelegte Anzahl von Elementen in einer Sequenz und gibt dann die übrigen Elemente zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, aus dem Elemente zurückgegeben werden sollen

count
Int32

Die Anzahl der Elemente, die übersprungen werden sollen, bevor die übrigen Elemente zurückgegeben werden.

Gibt zurück

IQueryable<TSource>

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

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Skip<TSource>(IQueryable<TSource>, Int32) eine angegebene Anzahl von Elementen in einem sortierten Array übersprungen und die verbleibenden Elemente zurückgegeben werden.

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

// Sort the grades in descending order and
// get all except the first three.
IEnumerable<int> lowerGrades =
    grades.AsQueryable().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
*/
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the grades in descending order and
' get all except the first three.
Dim lowerGrades = grades.AsQueryable() _
    .OrderByDescending(Function(g) g) _
    .Skip(3)

Dim output As New System.Text.StringBuilder
output.AppendLine("All grades except the top three are:")
For Each grade As Integer In lowerGrades
    output.AppendLine(grade)
Next

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:

' All grades except the top three are:
' 82
' 70
' 59
' 56

Hinweise

Die Skip<TSource>(IQueryable<TSource>, Int32) -Methode generiert eine MethodCallExpression , die den Aufruf Skip<TSource>(IQueryable<TSource>, Int32) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die CreateQuery(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source Parameters dargestellt wird.

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Skip<TSource>(IQueryable<TSource>, Int32) darstellt, hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die ersten count Elemente in source übersprungen und die restlichen Elemente zurückgegeben werden.

Gilt für: