次の方法で共有


Skip 句 (Visual Basic)

コレクション内の指定された数の要素をバイパスし、残りの要素を返します。

構文

Skip count  

部品

count
必須。 スキップするシーケンスの要素数に評価される値または式。

注釈

Skip句により、クエリは結果リストの先頭にある要素をバイパスし、残りの要素を返します。 スキップする要素の数は、 count パラメーターによって識別されます。

Take句と共に Skip 句を使用して、クエリの任意のセグメントからデータの範囲を返すことができます。 これを行うには、範囲の最初の要素のインデックスを Skip 句に渡し、範囲のサイズを Take 句に渡します。

クエリで Skip 句を使用する場合は、 Skip 句が意図した結果をバイパスできるようにする順序で結果が返されるようにする必要がある場合もあります。 クエリ結果の順序付けの詳細については、「 Order By 句」を参照してください。

SkipWhile句を使用すると、指定された条件に応じて、特定の要素のみが無視されるように指定できます。

次のコード例では、 Skip 句と Take 句を使用して、ページ内のクエリからデータを返します。 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

こちらも参照ください