Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee geeft u de filtervoorwaarde voor een query.
Syntaxis
Where condition
Onderdelen
condition
Verplicht. Een expressie die bepaalt of de waarden voor het huidige item in de verzameling zijn opgenomen in de uitvoerverzameling. De expressie moet een Boolean waarde of een equivalent van een Boolean waarde evalueren. Als de voorwaarde wordt geëvalueerd True, wordt het element opgenomen in het queryresultaat; anders wordt het element uitgesloten van het queryresultaat.
Opmerkingen
Met de Where component kunt u querygegevens filteren door alleen elementen te selecteren die voldoen aan bepaalde criteria. Elementen waarvan de waarden ertoe leiden dat de Where component wordt True geëvalueerd, worden opgenomen in het queryresultaat; andere elementen worden uitgesloten. De expressie die in een Where component wordt gebruikt, moet een Boolean of een equivalent van een Boolean, zoals een geheel getal dat evalueert False wanneer de waarde nul is, evalueren. U kunt meerdere expressies in een Where component combineren met behulp van logische operators zoals And, Or, AndAlso, OrElse, en IsIsNot.
Query-expressies worden standaard pas geëvalueerd wanneer ze worden geopend, bijvoorbeeld wanneer ze gegevens zijn gebonden of doorlopen in een For lus. Als gevolg hiervan wordt de Where component pas geëvalueerd als de query wordt geopend. Als u waarden buiten de query hebt die in de Where component worden gebruikt, moet u ervoor zorgen dat de juiste waarde wordt gebruikt in de Where component op het moment dat de query wordt uitgevoerd. Zie Uw eerste LINQ-query schrijven voor meer informatie over het uitvoeren van query's.
U kunt functies binnen een Where component aanroepen om een berekening of bewerking uit te voeren op een waarde uit het huidige element in de verzameling. Het aanroepen van een functie in een Where component kan ertoe leiden dat de query onmiddellijk wordt uitgevoerd wanneer deze wordt gedefinieerd in plaats van wanneer deze wordt geopend. Zie Uw eerste LINQ-query schrijven voor meer informatie over het uitvoeren van query's.
Voorbeeld 1
In de volgende query-expressie wordt een From component gebruikt om een bereikvariabele cust te declareren voor elk Customer object in de customers verzameling. De Where component maakt gebruik van de bereikvariabele om de uitvoer te beperken tot klanten uit de opgegeven regio. De For Each lus geeft de bedrijfsnaam weer voor elke klant in het queryresultaat.
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
Voorbeeld 2
In het volgende voorbeeld worden logische operators in de Where component gebruikt AndOr.
Private Sub DisplayElements()
Dim elements As List(Of Element) = BuildList()
' Get a list of elements that have an atomic number from 12 to 14,
' or that have a name that ends in "r".
Dim subset = From theElement In elements
Where (theElement.AtomicNumber >= 12 And theElement.AtomicNumber < 15) _
Or theElement.Name.EndsWith("r")
Order By theElement.Name
For Each theElement In subset
Console.WriteLine(theElement.Name & " " & theElement.AtomicNumber)
Next
' Output:
' Aluminum 13
' Magnesium 12
' Silicon 14
' Sulfur 16
End Sub
Private Function BuildList() As List(Of Element)
Return New List(Of Element) From
{
{New Element With {.Name = "Sodium", .AtomicNumber = 11}},
{New Element With {.Name = "Magnesium", .AtomicNumber = 12}},
{New Element With {.Name = "Aluminum", .AtomicNumber = 13}},
{New Element With {.Name = "Silicon", .AtomicNumber = 14}},
{New Element With {.Name = "Phosphorous", .AtomicNumber = 15}},
{New Element With {.Name = "Sulfur", .AtomicNumber = 16}}
}
End Function
Public Class Element
Public Property Name As String
Public Property AtomicNumber As Integer
End Class