Udostępnij za pośrednictwem


From — Klauzula (Visual Basic)

Określa jedną lub więcej zmiennych zakres i kolekcji do kwerendy.

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

Części

Termin

Definicja

element

Wymagane.A Zakres zmiennej służą do iteracji elementów w kolekcji.Zmienna zakres jest używany do odwoływania się do każdego członka collection jako kwerendy iterację collection.Musi być typem agregującym.

type

Opcjonalne.Typ element.Jeśli nie type jest określony typ element jest wywnioskować z collection.

collection

Wymagane.Odnosi się do zbierania, której powinna dotyczyć kwerenda.Musi być typem agregującym.

Uwagi

From Klauzuli jest używany do identyfikacji danych źródłowych dla kwerendy i zmiennych, które są używane do odwoływania się do elementu z kolekcji źródła.Zmienne te są nazywane zakresu zmiennych.From Klauzuli jest wymagana dla kwerendy, z wyjątkiem sytuacji gdy Aggregate klauzuli jest używany do identyfikowania że zwraca tylko zagregowane wyników kwerendy.Aby uzyskać więcej informacji, zobacz Aggregate — Klauzula (Visual Basic).

Można określić wiele From klauzule kwerendy do identyfikowania wielu kolekcje, które mają zostać połączone.Gdy określono wiele zbiorów, są one niezależnie podstawy nad lub można połączyć je, jeśli są one powiązane.Dołączanie kolekcje niejawnie przy użyciu Select klauzuli, lub jawnie przy użyciu Join lub Group Join klauzul.Jako alternatywa, można określić wiele zmiennych zakres i zbiorów w jednym From klauzulę o każdej zmiennej zakres powiązanych i zbierania, oddzielone od siebie przecinkami.Poniższy przykład kodu pokazuje obie opcje Składnia dla From klauzuli.

' 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 Klauzuli definiuje zakres kwerendy, który jest podobny do zakresu For pętli.W związku z tym, każdy element zmienna zakresu w zakres kwerendy musi mieć unikatową nazwę.Ponieważ można określić wiele From klauzule kwerendy kolejnych From klauzul może odnosić się do zakresu zmiennych w From klauzuli lub one może odnosić się do zakresu zmiennych w poprzedniej From klauzuli.Na przykład, poniższy przykład przedstawia zagnieżdżonych From klauzuli gdzie kolekcji w klauzuli drugi opiera się na właściwość zmiennej zakres w pierwszej klauzuli.

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

Każdy From klauzuli może następować dowolna kombinacja klauzul dodatkowych kwerend w kwerendzie.Można ograniczyć kwerendę, w następujący sposób:

  • Łączenie wielu kolekcje niejawnie za pomocą From i Select klauzule, lub jawnie przy użyciu Join lub Group Join klauzul.

  • Użyj Where klauzuli do filtrowania wyników kwerendy.

  • Sortowanie wyników za pomocą Order By klauzuli.

  • Zgrupować podobne wyniki za pomocą Group By klauzuli.

  • Użyj Aggregate klauzuli do identyfikacji funkcji agregujących do oceny dla wyniku kwerendy całego.

  • Użyj Let klauzuli wprowadzenie zmienną iteracji, których wartość jest określana przez wyrażenie zamiast zbioru.

  • Użyj Distinct klauzuli, ignorowanie wyników kwerendy zduplikowane.

  • Określenie części wynik, aby przywrócić za pomocą Skip, Take, Skip While, i Take While klauzul.

Przykład

Poniższa kwerenda używa wyrażenia From klauzuli deklarowania zmiennej zakres cust dla każdego Customer obiekt w customers kolekcji.Where Klauzuli użyto zmiennej zakres, aby ograniczyć dane wyjściowe do klientów z określonego regionu.For Each Pętli Wyświetla nazwę firmy, dla każdego odbiorcy w wyniku kwerendy.

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

Zobacz też

Informacje

For Each...Next — Instrukcja (Visual Basic)

For...Next — Instrukcja (Visual Basic)

Select — Klauzula (Visual Basic)

Where — Klauzula (Visual Basic)

Aggregate — Klauzula (Visual Basic)

Distinct — Klauzula (Visual Basic)

Join — Klauzula (Visual Basic)

Group Join — Klauzula (Visual Basic)

Order By — Klauzula (Visual Basic)

Let — Klauzula (Visual Basic)

Skip — Klauzula (Visual Basic)

Take — Klauzula (Visual Basic)

Skip While — Klauzula (Visual Basic)

Take While — Klauzula (Visual Basic)

Koncepcje

Wprowadzenie do LINQ w Visual Basic

Inne zasoby

Zapytania (Visual Basic)