Queryable.SkipWhile Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa.
Overload
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa. |
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) |
Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa. Indeks elemen digunakan dalam logika fungsi predikat. |
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa.
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)
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IQueryable<TSource>
Untuk IQueryable<T> mengembalikan elemen dari.
- predicate
- Expression<Func<TSource,Boolean>>
Fungsi untuk menguji setiap elemen untuk kondisi.
Mengembalikan
IQueryable<T> yang berisi elemen mulai dari source
elemen pertama dalam seri linier yang tidak lulus tes yang ditentukan oleh predicate
.
Pengecualian
source
atau predicate
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) untuk melewati elemen array selama kondisinya benar.
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
Keterangan
Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.
Metode ini SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) menghasilkan MethodCallExpression yang mewakili pemanggilan SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah bahwa itu berlaku predicate
untuk setiap elemen di source
sampai menemukan elemen yang predicate
mengembalikan false. Elemen tersebut dan semua elemen yang tersisa dikembalikan.
Berlaku untuk
SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa. Indeks elemen digunakan dalam logika fungsi predikat.
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)
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IQueryable<TSource>
Untuk IQueryable<T> mengembalikan elemen dari.
- predicate
- Expression<Func<TSource,Int32,Boolean>>
Fungsi untuk menguji setiap elemen untuk kondisi; parameter kedua dari fungsi ini mewakili indeks elemen sumber.
Mengembalikan
IQueryable<T> yang berisi elemen mulai dari source
elemen pertama dalam seri linier yang tidak lulus tes yang ditentukan oleh predicate
.
Pengecualian
source
atau predicate
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) untuk melewati elemen array selama kondisi yang bergantung pada indeks elemen adalah true.
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
Keterangan
Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.
Metode ini SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) menghasilkan MethodCallExpression yang mewakili pemanggilan SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah bahwa itu berlaku predicate
untuk setiap elemen di source
sampai menemukan elemen yang predicate
mengembalikan false. Elemen tersebut dan semua elemen yang tersisa dikembalikan. Indeks setiap elemen sumber disediakan sebagai argumen kedua untuk predicate
.