コレクションの先頭から指定した数の連続する要素を返します。
構文
Take count
部品
count
必須。 返すシーケンスの要素数に評価される値または式。
注釈
Take
句を指定すると、クエリに結果一覧の先頭から指定した数の連続する要素が含まれます。 含める要素の数は、 count
パラメーターで指定します。
Skip
句と共に Take
句を使用して、クエリの任意のセグメントからデータの範囲を返すことができます。 これを行うには、範囲の最初の要素のインデックスを Skip
句に渡し、範囲のサイズを Take
句に渡します。 この場合、Skip
句の後に Take
句を指定する必要があります。
クエリで Take
句を使用する場合は、 Take
句に意図した結果を含める順序で結果が返されるようにする必要がある場合もあります。 クエリ結果の順序付けの詳細については、「 Order By 句」を参照してください。
TakeWhile
句を使用して、指定された条件に応じて特定の要素のみを返すように指定できます。
例
次のコード例では、 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
こちらも参照ください
- Visual Basic での LINQ の概要
- クエリ
- Select 句
- From 句
- Order By 句
- Take While 句
- Skip 句
.NET