Van component (Visual Basic)
Hiermee geeft u een of meer bereikvariabelen en een verzameling om een query uit te voeren.
Syntaxis
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
generator
Term | Definitie |
---|---|
element |
Vereist. Een bereikvariabele die wordt gebruikt om de elementen van de verzameling te herhalen. Een bereikvariabele wordt gebruikt om naar elk lid van de collection variabele te verwijzen als de query doorloopt.collection Moet een opsommingstype zijn. |
type |
Optioneel. Het type element . Als er geen type is opgegeven, wordt het type element afgeleid van collection . |
collection |
Vereist. Verwijst naar de verzameling die moet worden opgevraagd. Moet een opsommingstype zijn. |
Opmerkingen
De From
component wordt gebruikt om de brongegevens voor een query te identificeren en de variabelen die worden gebruikt om te verwijzen naar een element uit de bronverzameling. Deze variabelen worden bereikvariabelen genoemd. De From
component is vereist voor een query, behalve wanneer de Aggregate
component wordt gebruikt om een query te identificeren die alleen geaggregeerde resultaten retourneert. Zie Aggregaatcomponent voor meer informatie.
U kunt meerdere From
componenten in een query opgeven om meerdere verzamelingen te identificeren die moeten worden gekoppeld. Wanneer er meerdere verzamelingen zijn opgegeven, worden ze afzonderlijk ge curseerd of kunt u ze samenvoegen als ze gerelateerd zijn. U kunt verzamelingen impliciet samenvoegen met behulp van de Select
component of expliciet met behulp van de Join
of Group Join
componenten. Als alternatief kunt u meerdere bereikvariabelen en verzamelingen in één From
component opgeven, waarbij elke gerelateerde bereikvariabele en verzameling gescheiden zijn van de andere door een komma. In het volgende codevoorbeeld ziet u beide syntaxisopties voor de From
component.
' Multiple From clauses in a query.
Dim result = From var1 In collection1, var2 In collection2
' Equivalent syntax with a single From clause.
Dim result2 = From var1 In collection1
From var2 In collection2
De From
component definieert het bereik van een query, wat vergelijkbaar is met het bereik van een For
lus. Daarom moet elke element
bereikvariabele in het bereik van een query een unieke naam hebben. Omdat u meerdere From
componenten voor een query kunt opgeven, kunnen volgende From
componenten verwijzen naar bereikvariabelen in de From
component of kunnen ze verwijzen naar bereikvariabelen in een vorige From
component. In het volgende voorbeeld ziet u bijvoorbeeld een geneste component waarin de verzameling in de tweede component is gebaseerd op een eigenschap van de bereikvariabele From
in de eerste component.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Elke From
component kan worden gevolgd door elke combinatie van aanvullende querycomponenten om de query te verfijnen. U kunt de query op de volgende manieren verfijnen:
Combineer meerdere verzamelingen impliciet met behulp van de
From
enSelect
componenten, of expliciet met behulp van deJoin
ofGroup Join
componenten.Gebruik de
Where
component om het queryresultaat te filteren.Sorteer het resultaat met behulp van de
Order By
component.Groepeer vergelijkbare resultaten samen met behulp van de
Group By
component.Gebruik de
Aggregate
component om statistische functies te identificeren die moeten worden geëvalueerd voor het hele queryresultaat.Gebruik de
Let
component om een iteratievariabele te introduceren waarvan de waarde wordt bepaald door een expressie in plaats van een verzameling.Gebruik de
Distinct
component om dubbele queryresultaten te negeren.Onderdelen van het resultaat identificeren die moeten worden geretourneerd met behulp van de
Skip
,Take
enSkip While
Take While
componenten.
Opmerking
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
Zie ook
- Query's
- Inleiding tot LINQ in Visual Basic
- Voor elke... Volgende instructie
- Voor... Volgende instructie
- Component selecteren
- Where-component
- Samenvoegingscomponent
- Distinct-component
- Join-component
- Groepsdeelnamecomponent
- Order by-component
- Let-component
- Component overslaan
- Take-component
- Overslaan tijdens component
- Component Take While