Take 절 (Visual Basic)Take Clause (Visual Basic)

컬렉션의 시작 위치에서 지정된 수의 연속 요소를 반환합니다.Returns a specified number of contiguous elements from the start of a collection.


Take count  


필수 사항입니다.Required. 반환할 시퀀스의 요소 수로 계산 되는 값 또는 식입니다.A value or an expression that evaluates to the number of elements of the sequence to return.


Take절을 실행 하면 결과 목록의 시작 부분에서 지정 된 개수의 연속 요소가 쿼리에 포함 됩니다.The Take clause causes a query to include a specified number of contiguous elements from the start of a results list. 포함할 요소의 수는 count 매개 변수로 지정 됩니다.The number of elements to include is specified by the count parameter.

Take 과 함께 절을 사용 Skip 하 여 쿼리 세그먼트의 데이터 범위를 반환할 수 있습니다.You can use the Take clause with the Skip clause to return a range of data from any segment of a query. 이렇게 하려면 범위의 첫 번째 요소 인덱스를 절에 전달 하 Skip 고 범위의 크기를 절에 전달 Take 합니다.To do this, pass the index of the first element of the range to the Skip clause and the size of the range to the Take clause. 이 경우 절 뒤에 Take 절을 지정 해야 합니다 Skip .In this case, the Take clause must be specified after the Skip clause.

쿼리에서 절을 사용 하는 경우에는 Take 절에서 의도 된 결과를 포함 하도록 하는 순서로 결과가 반환 되는지 확인 해야 할 수도 있습니다 Take .When you use the Take clause in a query, you may also need to ensure that the results are returned in an order that will enable the Take clause to include the intended results. 쿼리 결과를 정렬 하는 방법에 대 한 자세한 내용은 Order By 절을 참조 하십시오.For more information about ordering query results, see Order By Clause.

절을 사용 하 여 TakeWhile 제공 된 조건에 따라 특정 요소만 반환 되도록 지정할 수 있습니다.You can use the TakeWhile clause to specify that only certain elements be returned, depending on a supplied condition.


다음 코드 예에서는 절과 함께 절을 사용 하 여 Take Skip 페이지의 쿼리에서 데이터를 반환 합니다.The following code example uses the Take clause together with the Skip clause to return data from a query in pages. GetCustomers 함수는 절을 사용 하 여 Skip 목록에서 제공 된 시작 인덱스 값까지 고객을 우회 하 고 절을 사용 하 여 Take 해당 인덱스 값에서 시작 하는 고객의 페이지를 반환 합니다.The GetCustomers function uses the Skip clause to bypass the customers in the list until the supplied starting index value, and uses the Take clause to return a page of customers starting from that index value.

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)


        pageNumber += 1
        customersPage = GetCustomers(pageNumber * pageSize, pageSize)
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

참고 항목See also