Sdílet prostřednictvím


Z klauzule (Visual Basic)

Určuje jednu nebo více proměnných rozsah a kolekce do dotazu.

From element [ As type ] In collection [ _ ]
  [, element2 [ As type2 ] In collection2 [, ... ] ]

Části

Termín

Definice

element

Povinné.A Rozsah proměnné lze iterovat prvky v kolekci.Rozsah proměnné se používá k odkazování na každý člen collection jako projde dotaz collection.Musí být agregující typu.

type

Nepovinné.Typ element.Pokud ne type je zadán typ element je odvodit ze collection.

collection

Povinné.Odkazuje na kolekci dotazu.Musí být agregující typu.

Poznámky

From Klauzule slouží k identifikaci zdroje dat pro dotaz a proměnných, které se používají k odkazu na prvek ze zdrojové kolekce.Tyto proměnné se nazývají Rozsah proměnné.From Klauzule je vyžadován pro dotaz, kromě případů, kdy Aggregate klauzule slouží k identifikaci dotaz vrátí pouze agregované výsledky.Další informace naleznete v tématu Agregační klauzule (Visual Basic).

Můžete určit více From klauzule dotazu určit více kolekcí, které mají být sloučeny.Po několik kolekcí musí tyto jsou vstupní přes nezávisle nebo je lze připojit, pokud souvisejí.Kolekce lze implicitně připojit pomocí Select klauzule, nebo explicitně pomocí Join nebo Group Join klauzule.Alternativně můžete zadat více rozsah proměnné a kolekce v jednom From klauzule s každou související rozsah proměnné a kolekce od ostatních oddělených čárkou.Následující příklad kódu ukazuje obě možnosti syntaxe From klauzule.

' 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

From Definuje klauzule dotazu, který je podobný rozsah působnosti For smyčky.Proto každý element rozsah proměnné v oboru dotazu musí mít jedinečný název.Protože můžete zadat více From klauzule dotazu následné From doložky mohou odkazovat na proměnné rozsah From klauzule nebo jim mohou odkazovat na proměnné rozsah v předchozí From klauzule.Například následující příklad ukazuje vnořené From klauzule, kde je kolekce v druhé základě vlastnosti proměnné rozsah v první klauzuli.

Dim allOrders = From cust In GetCustomerList()
                From ord In cust.Orders
                Select ord

Každý From klauzule mohou následovat libovolné další klauzule pro upřesnění dotazu.Dotaz lze upravit následujícími způsoby:

  • Kombinovat více kolekcí implicitně pomocí From a Select doložky, nebo explicitně pomocí Join nebo Group Join klauzule.

  • Použití Where klauzule filtrování výsledků dotazu.

  • Řazení výsledků pomocí Order By klauzule.

  • Seskupení podobných výsledků pomocí Group By klauzule.

  • Použití Aggregate klauzule identifikovat k vyhodnocení výsledku celé dotazu agregační funkce.

  • Použití Let klauzule zavést proměnnou iterace, jehož hodnota je určena výraz místo kolekce.

  • Použití Distinct klauzule ignorovat duplicitní výsledky.

  • Identifikovat částí výsledku vrátit pomocí Skip, Take, Skip While, a Take While klauzule.

Příklad

Následující dotaz používá výraz From klauzule rozsahu proměnné deklarovat cust pro každou Customer objektu v customers kolekce.Where Klauzule používá proměnná rozsah omezení výstupu zákazníkům ze stanovené pěstitelské oblasti.For Each Smyčky zobrazuje název společnosti pro každého zákazníka ve výsledku dotazu.

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

Viz také

Referenční dokumentace

Pro každý...Další příkaz (Visual Basic)

Pro...Další příkaz (Visual Basic)

Vyberte klauzule (Visual Basic)

Pokud klauzule (Visual Basic)

Agregační klauzule (Visual Basic)

Klauzule DISTINCT (Visual Basic)

JOIN klauzule (Visual Basic)

Klauzule Join skupiny (Visual Basic)

ORDER klauzule (Visual Basic)

Nechť klauzule (Visual Basic)

Přeskočit klauzule (Visual Basic)

Přijmout klauzule (Visual Basic)

Přeskočit při klauzule (Visual Basic)

Přijmout při klauzule (Visual Basic)

Koncepty

Úvod do jazyka Visual Basic LINQ

Další zdroje

Dotazy (Visual Basic)