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

지정된 조건이 true이면 컬렉션의 요소를 포함하고 나머지 요소를 무시합니다.Includes elements in a collection as long as a specified condition is true and bypasses the remaining elements.

구문Syntax

Take While expression  

요소Parts

용어Term 정의Definition
expression 필수 요소.Required. 에 대 한 요소를 테스트 하는 조건을 나타내는 식입니다.An expression that represents a condition to test elements for. 식을 반환 해야 합니다는 Boolean 값 또는 이와 동일한 기능 같은 Integer 으로 계산 되는 Boolean합니다.The expression must return a Boolean value or a functional equivalent, such as an Integer to be evaluated as a Boolean.

설명Remarks

합니다 Take While 일까 지 제공 된 쿼리 결과의 시작 부분에서 요소를 포함 하는 절 expression 반환 false합니다.The Take While clause includes elements from the start of a query result until the supplied expression returns false. 후 합니다 expression 반환 false, 나머지 모든 요소를 무시 하는 쿼리.After the expression returns false, the query will bypass all remaining elements. expression 나머지 결과 대해 무시 됩니다.The expression is ignored for the remaining results.

Take While 절에서 다른 합니다 Where 절에는 Where 쿼리에서 특정 조건을 충족 하는 모든 요소를 포함 하려면 절을 사용할 수 있습니다.The Take While clause differs from the Where clause in that the Where clause can be used to include all elements from a query that meet a particular condition. Take While 절 조건이 충족 되지 않은 첫 번째 시간 까지만 요소를 포함 합니다.The Take While clause includes elements only until the first time that the condition is not satisfied. Take While 절은 순서가 지정 된 쿼리 결과 사용 하 여 작업할 때 가장 유용 합니다.The Take While clause is most useful when you are working with an ordered query result.

예제Example

다음 코드 예제에서는 Take While 절 순서 없이 첫 번째 고객을 찾을 때까지 결과를 검색 합니다.The following code example uses the Take While clause to retrieve results until the first customer without any orders is found.

Public Sub TakeWhileSample()
  Dim customers = GetCustomerList()

  ' Return customers until the first customer with no orders is found.
  Dim customersWithOrders = From cust In customers
                            Order By cust.Orders.Count Descending
                            Take While HasOrders(cust)

  For Each cust In customersWithOrders
    Console.WriteLine(cust.CompanyName & " (" & cust.Orders.Length & ")")
  Next
End Sub

Public Function HasOrders(ByVal cust As Customer) As Boolean
  If cust.Orders.Length > 0 Then Return True

  Return False
End Function

참고자료See also