Queryable.SkipWhile Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket.
Túlterhelések
| Name | Description |
|---|---|
| SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket. |
| SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) |
A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket. Az elem indexe a predikátumfüggvény logikájában használatos. |
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket.
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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)
Típusparaméterek
- TSource
A . elemeinek sourcetípusa.
Paraméterek
- source
- IQueryable<TSource>
Egy IQueryable<T> , amelyből elemeket ad vissza.
- predicate
- Expression<Func<TSource,Boolean>>
Egy feltétel egyes elemeinek tesztelésére szolgáló függvény.
Válaszok
Olyan IQueryable<T> elemeket tartalmaz, amelyek a lineáris sorozat első elemétől indulnak source , és nem adhatók át a megadott teszten predicate.
- Attribútumok
Kivételek
source vagy predicate az null.
Példák
Az alábbi példakód bemutatja, hogyan lehet SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) kihagyni egy tömb elemeit mindaddig, amíg egy feltétel igaz.
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
Megjegyzések
Ez a metódus legalább egy típusparamétert Expression<TDelegate> használ, amelynek típusargumentuma az Func<T,TResult> egyik típus. Ezekhez a paraméterekhez átadhat egy lambda kifejezést, és az Expression<TDelegate>egy .
A SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) metódus létrehoz egy olyan metódust MethodCallExpression , amely önmagát generált általános metódusként jeleníti SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) meg. Ezután átadja a MethodCallExpression paraméter tulajdonsága által CreateQuery(Expression) képviselt metódusnak IQueryProviderProvider.source
A meghívást SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) jelképező kifejezésfa végrehajtása során előforduló lekérdezési viselkedés a paraméter típusának source implementálásától függ. A várt viselkedés az, hogy az egyes elemekre predicate vonatkoziksource, amíg meg nem talál egy olyan elemet, amely predicate hamis értéket ad vissza. Ezt az elemet és az összes többi elemet adja vissza a rendszer.
A következőre érvényes:
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>)
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket. Az elem indexe a predikátumfüggvény logikájában használatos.
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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)
Típusparaméterek
- TSource
A . elemeinek sourcetípusa.
Paraméterek
- source
- IQueryable<TSource>
Egy IQueryable<T> , amelyből elemeket ad vissza.
- predicate
- Expression<Func<TSource,Int32,Boolean>>
Egy feltétel egyes elemeinek tesztelésére szolgáló függvény; a függvény második paramétere a forráselem indexét jelöli.
Válaszok
Olyan IQueryable<T> elemeket tartalmaz, amelyek a lineáris sorozat első elemétől indulnak source , és nem adhatók át a megadott teszten predicate.
- Attribútumok
Kivételek
source vagy predicate az null.
Példák
Az alábbi példakód bemutatja, hogyan lehet SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) kihagyni egy tömb elemeit mindaddig, amíg az elem indexétől függő feltétel igaz.
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
Megjegyzések
Ez a metódus legalább egy típusparamétert Expression<TDelegate> használ, amelynek típusargumentuma az Func<T,TResult> egyik típus. Ezekhez a paraméterekhez átadhat egy lambda kifejezést, és az Expression<TDelegate>egy .
A SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) metódus létrehoz egy olyan metódust MethodCallExpression , amely önmagát generált általános metódusként jeleníti SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) meg. Ezután átadja a MethodCallExpression paraméter tulajdonsága által CreateQuery(Expression) képviselt metódusnak IQueryProviderProvider.source
A meghívást SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) jelképező kifejezésfa végrehajtása során előforduló lekérdezési viselkedés a paraméter típusának source implementálásától függ. A várt viselkedés az, hogy az egyes elemekre predicate vonatkoziksource, amíg meg nem talál egy olyan elemet, amely predicate hamis értéket ad vissza. Ezt az elemet és az összes többi elemet adja vissza a rendszer. Az egyes forráselemek indexét a rendszer a második argumentumként adja meg.predicate