Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anger en eller flera intervallvariabler och en samling att fråga efter.
Syntax
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
Delar
| Begrepp | Definition |
|---|---|
element |
Obligatoriskt. En intervallvariabel som används för att iterera genom elementen i samlingen. En intervallvariabel används för att referera till varje medlem i collection när frågan itererar genom collection. Måste vara en uppräkningsbar typ. |
type |
Valfritt. Typen av element. Om nej type anges härleds typen av element från collection. |
collection |
Obligatoriskt. Refererar till samlingen som ska frågas. Måste vara en uppräkningsbar typ. |
Anmärkningar
Satsen From används för att identifiera källdata för en fråga och de variabler som används för att referera till ett element från källsamlingen. Dessa variabler kallas för intervallvariabler.
From Satsen krävs för en fråga, förutom när Aggregate satsen används för att identifiera en fråga som endast returnerar aggregerade resultat. Mer information finns i aggregerad sats.
Du kan ange flera From satser i en fråga för att identifiera flera samlingar som ska kopplas. När flera samlingar anges itereras de oberoende av varandra, eller så kan du ansluta dem om de är relaterade. Du kan koppla samlingar implicit med hjälp Select av satsen eller explicit med hjälp av satserna Join eller Group Join . Alternativt kan du ange flera intervallvariabler och samlingar i en enda From sats, där varje relaterad intervallvariabel och samling separeras från de andra med kommatecken. I följande kodexempel visas båda syntaxalternativen From för -satsen.
' 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
Satsen From definierar omfånget för en fråga, vilket liknar omfånget för en For loop. Därför måste varje element intervallvariabel i frågans omfång ha ett unikt namn. Eftersom du kan ange flera From satser för en fråga kan efterföljande From satser referera till intervallvariabler i From -satsen, eller så kan de referera till intervallvariabler i en tidigare From sats. I följande exempel visas till exempel en kapslad sats From där samlingen i den andra satsen baseras på en egenskap för intervallvariabeln i den första satsen.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Varje From sats kan följas av valfri kombination av ytterligare frågesatser för att förfina frågan. Du kan förfina frågan på följande sätt:
Kombinera flera samlingar implicit med hjälp av satserna
FromochSelecteller explicit med hjälp av satsernaJoinellerGroup Join.WhereAnvänd -satsen för att filtrera frågeresultatet.Sortera resultatet med hjälp
Order Byav -satsen.Gruppera liknande resultat med hjälp
Group Byav -satsen.AggregateAnvänd -satsen för att identifiera mängdfunktioner som ska utvärderas för hela frågeresultatet.LetAnvänd -satsen för att introducera en iterationsvariabel vars värde bestäms av ett uttryck i stället för en samling.DistinctAnvänd -satsen för att ignorera duplicerade frågeresultat.Identifiera delar av resultatet som ska returneras med hjälp av satserna
Skip,Take,Skip WhileochTake While.
Exempel
Följande frågeuttryck använder en From sats för att deklarera en intervallvariabel cust för varje Customer objekt i customers samlingen.
Where Satsen använder intervallvariabeln för att begränsa utdata till kunder från den angivna regionen. Loopen For Each visar företagsnamnet för varje kund i frågeresultatet.
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