Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Включает элементы в коллекцию до тех пор, пока указанное условие является 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