Поделиться через


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

Устанавливает условия фильтрации для запроса.

Where condition

Части

  • condition
    Обязательный. Выражение, определяющее, должны ли значения текущего элемента коллекции входить в выходную коллекцию. Выражение должно возвращать значение Boolean, либо эквивалент значения Boolean. Если условие имеет значение True, элемент будет включен в результат запроса; в противном случае элемент исключается из результата запроса.

Заметки

Предложение Where позволяет отфильтровать данные запроса, выбрав только элементы, удовлетворяющие определенным условиям. Элементы, значения которых делают предложение Where эквивалентным True, включаются в результат запроса; другие элементы исключаются. Выражение, которое используется в предложении Where, должно иметь значение Boolean или эквивалент Boolean, например Integer, значение которого равно False при значении переменной, равной нулю. Можно комбинировать несколько выражений в предложении Where с помощью логических операторов And, Or, AndAlso, OrElse, Is и IsNot.

По умолчанию, выражения запроса не вычисляются до тех пор, пока не становятся доступными, например когда они с привязываются к данным или итерируются в цикле For. В результате предложение Where не получает значение до тех пор, пока не осуществляется доступ к запросу. Если имеются значения, внешние по отношению к запросу, используемые в предложении Where, убедитесь, что в предложении Where соответствующее значение используется во время выполнения запроса. Дополнительные сведения о выполнении запроса см. в разделе Написание первого запроса LINQ (Visual Basic).

В предложении Where можно вызывать функции для выполнения вычислений или операций со значениями текущего элемента коллекции. Вызов функции в предложении Where может вызвать немедленное выполнение запроса при определении, а не при доступе. Дополнительные сведения о выполнении запроса см. в разделе Написание первого запроса LINQ (Visual Basic).

Пример

Следующее выражение запроса использует предложение From для объявления диапазона переменной cust для каждого объекта Customer в коллекции customers. Предложение Where использует переменную диапазона для ограничения вывода для заказчиков из указанной области. В результате запроса цикл For Each отображает имя компании для каждого заказчика.

Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer),
                              ByVal region As String)

  Dim customersForRegion = From cust In customers
                           Where cust.Region = region

  For Each cust In customersForRegion
    Console.WriteLine(cust.CompanyName)
  Next
End Sub

См. также

Ссылки

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

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

Оператор For Each... Next (Visual Basic)

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

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

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

Запросы (Visual Basic)