Take 절(Visual Basic)

컬렉션의 시작 위치에서 지정된 수의 연속 요소를 반환합니다.

구문

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

참고 항목