Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa co najmniej jedną zmienną zakresu i kolekcję do wykonywania zapytań.
Składnia
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
Części
| Termin | Definicja |
|---|---|
element |
To jest wymagane.
Zmienna zakresu używana do iterowania elementów kolekcji. Zmienna zakresu służy do odwoływania się do każdego elementu członkowskiego collection obiektu jako zapytania iteruje za pośrednictwem elementu collection. Musi być typem wyliczalnym. |
type |
Opcjonalny. Typ element. Jeśli nie type zostanie określony, typ element jest wywnioskowany z collection. |
collection |
To jest wymagane. Odwołuje się do kolekcji do odpytywania. Musi być typem wyliczalnym. |
Uwagi
Klauzula From służy do identyfikowania danych źródłowych zapytania i zmiennych używanych do odwoływania się do elementu z kolekcji źródłowej. Te zmienne są nazywane zmiennymi zakresu. Klauzula jest wymagana From dla zapytania, z wyjątkiem sytuacji, gdy Aggregate klauzula jest używana do identyfikowania zapytania zwracającego tylko zagregowane wyniki. Aby uzyskać więcej informacji, zobacz Agregacja klauzuli.
W zapytaniu można określić wiele From klauzul, aby zidentyfikować wiele kolekcji do sprzężenia. Po określeniu wielu kolekcji są iterowane niezależnie lub można je dołączyć, jeśli są powiązane. Kolekcje można łączyć niejawnie przy użyciu Select klauzuli lub jawnie przy użyciu Join klauzuli or Group Join . Alternatywnie można określić wiele zmiennych i kolekcji zakresu w jednej From klauzuli, z każdą powiązaną zmienną zakresu i kolekcją oddzieloną od innych przecinkami. Poniższy przykład kodu przedstawia obie opcje składni dla klauzuli From .
' 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
Klauzula From definiuje zakres zapytania, który jest podobny do zakresu For pętli. W związku z tym każda element zmienna zakresu w zakresie zapytania musi mieć unikatową nazwę. Ponieważ można określić wiele From klauzul dla zapytania, kolejne From klauzule mogą odwoływać się do zmiennych zakresu w From klauzuli lub odwoływać się do zmiennych zakresu w poprzedniej From klauzuli. Na przykład w poniższym przykładzie przedstawiono klauzulę zagnieżdżona From , w której kolekcja w drugiej klauzuli jest oparta na właściwości zmiennej zakresu w pierwszej klauzuli.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Po każdej From klauzuli można zastosować dowolną kombinację dodatkowych klauzul zapytania w celu uściślenia zapytania. Zapytanie można uściślić w następujący sposób:
Połącz wiele kolekcji niejawnie przy użyciu
Fromklauzul iSelectlub jawnie przy użyciuJoinklauzul orGroup Join.Użyj klauzuli
Where, aby filtrować wynik zapytania.Posortuj wynik przy użyciu klauzuli
Order By.Grupuj podobne wyniki razem przy użyciu klauzuli
Group By.Użyj klauzuli ,
Aggregateaby zidentyfikować funkcje agregujące, aby ocenić cały wynik zapytania.Użyj klauzuli ,
Letaby wprowadzić zmienną iteracji, której wartość jest określana przez wyrażenie zamiast kolekcji.Użyj klauzuli ,
Distinctaby zignorować zduplikowane wyniki zapytania.Zidentyfikuj części wyniku, które mają być zwracane przy użyciu
Skipklauzul ,Take,Skip WhileiTake While.
Przykład
Poniższe wyrażenie zapytania używa klauzuli From do deklarowania zmiennej cust zakresu dla każdego Customer obiektu w kolekcji customers . Klauzula Where używa zmiennej zakresu, aby ograniczyć dane wyjściowe do klientów z określonego regionu. Pętla For Each wyświetla nazwę firmy dla każdego klienta w wyniku zapytania.
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 także
- Zapytania
- Wprowadzenie do LINQ w języku Visual Basic
- Dla każdego... Następna instrukcja
- Instrukcja For...Next
- Klauzula wybierz
- klauzula Where
- klauzula agregująca
- Odrebna klauzula
- Klauzula JOIN
- klauzula grupującego sprzężenia
- Klauzula ORDER BY
- Let, klauzula
- Pominięcie klauzuli
- Klauzula przejęcia
- Pomijanie klauzuli While
- klauzula 'Take While'