다음을 통해 공유


Take 절(Visual Basic)

업데이트: 2007년 11월

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

Take count

구성 요소

  • count
    필수적 요소. 반환할 시퀀스의 요소 수로 계산되는 값이나 식입니다.

설명

Take 절은 결과 목록의 시작 부분에서 지정된 수의 연속 요소가 쿼리에 포함되게 합니다. 포함할 요소의 수는 count 매개 변수에 의해 지정됩니다.

Skip 절과 함께 Take 절을 사용하여 쿼리의 세그먼트에서 데이터 범위를 반환할 수 있습니다. 이렇게 하려면 범위의 첫 번째 요소 인덱스를 Skip 절에 전달하고 범위 크기를 Take 절에 전달합니다. 이 경우 Take 절은 Skip 절 뒤에 지정되어야 합니다.

쿼리에 Take 절을 사용하는 경우 Take 절에서 의도한 결과를 포함하게 될 순서로 결과도 반환되어야 합니다. 쿼리 결과 순서에 대한 자세한 내용은 Order By 절(Visual Basic)을 참조하십시오.

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 절(Visual Basic)

From 절(Visual Basic)

Order By 절(Visual Basic)

Take While 절(Visual Basic)

Skip 절(Visual Basic)

기타 리소스

쿼리(Visual Basic)