Предложение Take While (Visual Basic)

Обновлен: Ноябрь 2007

Включает элементы в коллекцию, пока заданное условие является true, и затем пропускает оставшиеся элементы.

Take While expression

Компоненты

  • expression
    Обязательный параметр. Выражение, представляющее условие для проверки элементов. Выражение должно возвращать значение Boolean или функциональный эквивалент, например Integer, обрабатываемый как Boolean.

Заметки

Предложение Take While включает элементы от начала результата запроса до тех пор, пока предоставленное expression не вернет false. После того, как expression вернет false, будут пропущены все оставшиеся элементы в запросе. expression игнорируется для оставшихся результатов.

Предложение Take While отличается от предложения Where тем, что предложение Where может быть использовано, чтобы включить все элементы из запроса, удовлетворяющие определенному условию. Предложение Take While включает элементы только до тех пор, пока условие будет ложным в первый раз. Предложение Take While наиболее полезно при работе с упорядоченным результатом запроса.

Пример

В следующем примере кода используется предложение Take While для получения результатов, пока не будет найден первый клиент без заказов.

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

См. также

Основные понятия

Знакомство с LINQ в Visual Basic

Ссылки

Предложение Select (Visual Basic)

Условие From (Visual Basic)

Предложение Take (Visual Basic)

Предложение Skip While (Visual Basic)

Предложение Where (Visual Basic)

Другие ресурсы

Запросы (Visual Basic)