Queryable.SkipWhile Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück
Überlädt
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück |
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) |
Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück In der Logik der Prädikatfunktion wird der Index des Elements verwendet. |
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ SkipWhile(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static System.Linq.IQueryable<TSource> SkipWhile<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member SkipWhile : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function SkipWhile(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) 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
- predicate
- Expression<Func<TSource,Boolean>>
Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.
Gibt zurück
Ein IQueryable<T>, das Elemente aus source
ab dem ersten Element in der linearen Reihe enthält, das die in predicate
angegebene Überprüfung nicht besteht.
Ausnahmen
source
oder predicate
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Elemente eines Arrays übersprungen werden, solange eine Bedingung wahr ist.
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
// Get all grades less than 80 by first
// sorting the grades in descending order and then
// taking all the grades after the first grade
// that is less than 80.
IEnumerable<int> lowerGrades =
grades.AsQueryable()
.OrderByDescending(grade => grade)
.SkipWhile(grade => grade >= 80);
Console.WriteLine("All grades below 80:");
foreach (int grade in lowerGrades)
Console.WriteLine(grade);
/*
This code produces the following output:
All grades below 80:
70
59
56
*/
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}
' Get all grades less than 80 by first sorting the grades
' in descending order and then taking all the grades that
' occur after the first grade that is less than 80.
Dim lowerGrades = grades.AsQueryable() _
.OrderByDescending(Function(grade) grade) _
.SkipWhile(Function(grade) grade >= 80)
Dim output As New System.Text.StringBuilder
output.AppendLine("All grades below 80:")
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 below 80:
' 70
' 59
' 56
Hinweise
Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.
Die SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) -Methode generiert eine MethodCallExpression , die den Aufruf SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) 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 SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass es auf jedes Element in source
angewendet predicate
wird, bis es ein Element findet, für das predicate
false zurückgegeben wird. Dieses Element und alle verbleibenden Elemente werden zurückgegeben.
Gilt für:
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück In der Logik der Prädikatfunktion wird der Index des Elements verwendet.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ SkipWhile(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int, bool> ^> ^ predicate);
public static System.Linq.IQueryable<TSource> SkipWhile<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int,bool>> predicate);
static member SkipWhile : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int, bool>> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function SkipWhile(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Integer, Boolean))) 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
- predicate
- Expression<Func<TSource,Int32,Boolean>>
Eine Funktion zum Überprüfen jedes Elements auf eine Bedingung. Der zweite Parameter der Funktion stellt den Index des Quellelements dar.
Gibt zurück
Ein IQueryable<T>, das Elemente aus source
ab dem ersten Element in der linearen Reihe enthält, das die in predicate
angegebene Überprüfung nicht besteht.
Ausnahmen
source
oder predicate
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Elemente eines Arrays übersprungen werden, solange eine Bedingung, die vom Index des Elements abhängt, wahr ist.
int[] amounts = { 5000, 2500, 9000, 8000,
6500, 4000, 1500, 5500 };
// Skip over amounts in the array until the first amount
// that is less than or equal to the product of its
// index in the array and 1000. Take the remaining items.
IEnumerable<int> query =
amounts.AsQueryable()
.SkipWhile((amount, index) => amount > index * 1000);
foreach (int amount in query)
Console.WriteLine(amount);
/*
This code produces the following output:
4000
1500
5500
*/
Dim amounts() As Integer = {5000, 2500, 9000, 8000, _
6500, 4000, 1500, 5500}
' Skip over amounts in the array until the first amount
' that is less than or equal to the product of its
' index in the array and 1000. Take the remaining items.
Dim query = amounts.AsQueryable() _
.SkipWhile(Function(amount, index) amount > index * 1000)
Dim output As New System.Text.StringBuilder
For Each amount As Integer In query
output.AppendLine(amount)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
' 4000
' 1500
' 5500
Hinweise
Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.
Die SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) -Methode generiert eine MethodCallExpression , die den Aufruf SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) 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 SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass es auf jedes Element in source
angewendet predicate
wird, bis es ein Element findet, für das predicate
false zurückgegeben wird. Dieses Element und alle verbleibenden Elemente werden zurückgegeben. Der Index jedes Quellelements wird als zweites Argument für predicate
bereitgestellt.