Where (Cláusula, Visual Basic)
Actualización: noviembre 2007
Especifica la condición de filtrado de una consulta.
Where condition
Partes
- condition
Necesario. Expresión que determina si se incluyen en la colección de salida los valores del elemento actual de la colección. La expresión debe evaluarse como un valor de tipo Boolean o el equivalente de un valor de tipo Boolean. Si la condición se evalúa como True, se incluye el elemento en el resultado de la consulta; de lo contrario, se excluye el elemento del resultado.
Comentarios
La cláusula Where permite filtrar los datos de una consulta seleccionando únicamente los elementos que cumplen determinados criterios. Los elementos cuyos valores hacen que la cláusula Where se evalúe como True se incluyen en el resultado de la consulta; los demás elementos se excluyen. La expresión que se usa en una cláusula Where debe evaluarse como un valor de tipo Boolean o el equivalente de un valor de tipo Boolean, como un entero que se evalúa como False cuando su valor es cero. Puede combinar varias expresiones en una cláusula Where mediante operadores lógicos, como And, Or, AndAlso, OrElse, Is e IsNot.
De forma predeterminada, no se evalúan las expresiones de consulta hasta que se obtenga acceso a ellas; por ejemplo, cuando se enlazan a datos o se recorren en iteración en un bucle For. Como resultado, no se evalúa la cláusula Where hasta que se obtenga acceso a la consulta. Si se usan valores externos a la consulta en la cláusula Where, asegúrese de que se usa el valor adecuado en la cláusula Where cuando se ejecute la consulta. Para obtener más información sobre la ejecución de consultas, vea Escribir la primera consulta con LINQ (Visual Basic).
Puede llamar a las funciones en una cláusula Where para realizar un cálculo u operación con un valor del elemento actual de la colección. Al llamar a una función en una cláusula Where, es posible que la consulte se ejecute inmediatamente en el momento de su definición y no cuando se obtiene acceso a ella. Para obtener más información sobre la ejecución de consultas, vea Escribir la primera consulta con LINQ (Visual Basic).
Ejemplo
La siguiente expresión de consulta usa una cláusula From para declarar una variable de rango cust para cada objeto Customer de la colección customers. La cláusula Where usa la variable de rango para restringir el resultado a los clientes de la región especificada. El bucle For Each muestra el nombre de la compañía de cada cliente en el resultado de la consulta.
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
Vea también
Conceptos
Introducción a LINQ en Visual Basic
Referencia
Select (Cláusula, Visual Basic)
Instrucción For Each...Next (Visual Basic)