コレクション内の指定された数の要素をバイパスし、残りの要素を返します。
構文
Skip count
指定項目
count
必須です。 スキップするシーケンスの要素数に評価される値または式。
Remarks
Skip
句を使用すると、クエリは結果リストの先頭の要素をバイパスし、残りの要素を返します。 スキップする要素の数は count
パラメーターによって識別されます。
Take
句と共に Skip
句を使用すると、クエリの任意のセグメントからのデータの範囲を返すことができます。 これを行うには、範囲の最初の要素のインデックスを Skip
句に渡し、範囲のサイズを Take
句に渡します。
クエリで Skip
句を使用する場合は、Skip
句で目的の結果がバイパスされるような順番で、結果が返されるようにする必要がある場合もあります。 クエリ結果の順序付けの詳細については、「Order By 句」を参照してください。
指定した条件に応じて、特定の要素のみが無視されるように指定するには、SkipWhile
句を使用できます。
例
次のコード例では、Take
句と共に Skip
句を使用して、ページ内のクエリからのデータを返しています。 GetCustomers
関数は、Skip
句を使用して、指定した開始インデックス値までリスト内の顧客をバイパスし、Take
句を使用して、そのインデックス値から始まる顧客のページを返します。
Public Sub PagingSample()
Dim pageNumber As Integer = 0
Dim pageSize As Integer = 10
Dim customersPage = GetCustomers(pageNumber * pageSize, pageSize)
Do While customersPage IsNot Nothing
Console.WriteLine(vbCrLf & "Page: " & pageNumber + 1 & vbCrLf)
For Each cust In customersPage
Console.WriteLine(cust.CustomerID & ", " & cust.CompanyName)
Next
Console.WriteLine(vbCrLf)
pageNumber += 1
customersPage = GetCustomers(pageNumber * pageSize, pageSize)
Loop
End Sub
Public Function GetCustomers(ByVal startIndex As Integer,
ByVal pageSize As Integer) As List(Of Customer)
Dim customers = GetCustomerList()
Dim returnCustomers = From cust In customers
Skip startIndex Take pageSize
If returnCustomers.Count = 0 Then Return Nothing
Return returnCustomers
End Function
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET