Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica una o più variabili di intervallo e una raccolta su cui eseguire una query.
Sintassi
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
Parti
| Termine | Definizione |
|---|---|
element |
Obbligatorio.
Variabile di intervallo utilizzata per scorrere gli elementi della raccolta. Una variabile di intervallo viene usata per fare riferimento a ogni membro di collection come la query scorre l'oggetto collection. Deve essere un tipo enumerabile. |
type |
Opzionale. Tipo di element. Se non viene specificato alcun type valore, il tipo di element viene dedotto da collection. |
collection |
Obbligatorio. Fa riferimento alla raccolta su cui eseguire una query. Deve essere un tipo enumerabile. |
Osservazioni:
La From clausola viene usata per identificare i dati di origine per una query e le variabili utilizzate per fare riferimento a un elemento dalla raccolta di origine. Queste variabili sono denominate variabili di intervallo. La From clausola è necessaria per una query, tranne quando la Aggregate clausola viene usata per identificare una query che restituisce solo risultati aggregati. Per altre informazioni, vedere Clausola di aggregazione.
È possibile specificare più From clausole in una query per identificare più raccolte da unire. Quando vengono specificate più raccolte, vengono iterate in modo indipendente oppure è possibile unirle se sono correlate. È possibile unire in modo implicito le raccolte usando la Select clausola o in modo esplicito usando le Join clausole o Group Join . In alternativa, è possibile specificare più variabili di intervallo e raccolte in una singola From clausola, con ogni variabile di intervallo correlata e raccolta separate dalle altre da una virgola. Nell'esempio di codice seguente vengono illustrate entrambe le opzioni di sintassi per la From clausola .
' 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
La From clausola definisce l'ambito di una query, simile all'ambito di un For ciclo. Pertanto, ogni element variabile di intervallo nell'ambito di una query deve avere un nome univoco. Poiché è possibile specificare più From clausole per una query, le clausole successive From possono fare riferimento alle variabili di intervallo nella From clausola oppure possono fare riferimento a variabili di intervallo in una clausola precedente From . Nell'esempio seguente, ad esempio, viene illustrata una clausola nidificata From in cui la raccolta nella seconda clausola si basa su una proprietà della variabile di intervallo nella prima clausola.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Ogni From clausola può essere seguita da qualsiasi combinazione di clausole di query aggiuntive per perfezionare la query. È possibile perfezionare la query nei modi seguenti:
Combinare più raccolte in modo implicito usando le
Fromclausole eSelecto in modo esplicito usando leJoinclausole oGroup Join.Usare la
Whereclausola per filtrare il risultato della query.Ordinare il risultato usando la
Order Byclausola .Raggruppare risultati simili usando la
Group Byclausola .Usare la
Aggregateclausola per identificare le funzioni di aggregazione da valutare per l'intero risultato della query.Utilizzare la
Letclausola per introdurre una variabile di iterazione il cui valore è determinato da un'espressione anziché da una raccolta.Usare la
Distinctclausola per ignorare i risultati della query duplicati.Identificare parti del risultato da restituire usando le
Skipclausole ,TakeSkip While, eTake While.
Esempio
Nell'espressione di query seguente viene utilizzata una From clausola per dichiarare una variabile cust di intervallo per ogni Customer oggetto dell'insieme customers . La Where clausola usa la variabile di intervallo per limitare l'output ai clienti dall'area specificata. Il For Each ciclo visualizza il nome della società per ogni cliente nel risultato della query.
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
Vedere anche
- Query
- Introduzione a LINQ in Visual Basic
- Per ogni... Dichiarazione Next
- Istruzione Per...Next
- Clausola Seleziona
- Clausola Where
- Clausola Aggregata
- Clausola Distinta
- Clausola di Join
- Clausola di unione di gruppo
- Clausola Ordina Per
- Clausola Let
- Clausola di esclusione
- Clausola di Prendere
- Clausola Salta Mentre
- Clausola Prendi Finché