Clausola Order By (Visual Basic)
Aggiornamento: novembre 2007
Specifica l'ordinamento dei risultati di una query.
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
Parti
- orderExp1
Obbligatorio. Uno o più campi dal risultato corrente della query che identificano come ordinare i valori restituiti. I nomi di campo devono essere separati da virgole (). È possibile identificare ogni campo come ordinato in senso crescente o decrescente utilizzando le parole chiave Ascending o Descending. Se non viene specificata la parola chiave Ascending o Descending, l'ordinamento predefinito è in senso crescente. I campi di ordinamento hanno la precedenza da sinistra verso destra.
Note
È possibile utilizzare la clausola Order By per ordinare i risultati di una query. La clausola Order By può ordinare un risultato solo in base alla variabile di intervallo per l'ambito corrente. Ad esempio, la clausola Select introduce un nuovo ambito in un'espressione di query con nuove variabili di iterazione per tale ambito. Le variabili di intervallo definite prima di una clausola Select in una query non sono disponibili dopo la clausola Select. Pertanto, se si desidera ordinare i risultati tramite un campo non disponibile nella clausola Select, è necessario inserire la clausola Order By prima della clausola Select. Ad esempio quando si desidera ordinare la query tramite campi che non vengono restituiti come parte del risultato.
Il senso crescente e decrescente ordinare per un campo viene determinato dall'implementazione dell'interfaccia IComparable per il tipo di dati del campo. Se il tipo di dati non implementa l'interfaccia IComparable, il senso di ordinamento viene ignorato.
Esempio
Nell'espressione di query seguente viene utilizzata una clausola From per dichiarare una variabile di intervallo book per l'insieme books. La clausola Order By ordina in senso crescente (impostazione predefinita) in base al prezzo il risultato della query. I libri con lo stesso prezzo vengono ordinati in senso crescente in base al titolo. La clausola Select seleziona solo la proprietà Title come valore restituito dalla query.
Dim titlesAscendingPrice = From book In books _
Order By book.Price, book.Title _
Select book.Title, book.Price
Nell'espressione di query seguente viene utilizzata la clausola Order By per ordinare in senso decrescente il risultato della query in base al prezzo. I libri con lo stesso prezzo vengono ordinati in senso crescente in base al titolo.
Dim titlesDescendingPrice = From book In books _
Order By book.Price Descending, book.Title _
Select book.Title, book.Price
Nell'espressione di query seguente viene utilizzata una clausola Select per selezionare titolo del libro, prezzo, editore e autore. Vengono quindi popolati i campi Title, Price, Publishere Author della variabile di intervallo per il nuovo ambito. La clausola Order By ordina la nuova variabile di intervallo per autore, titolo del libro e poi prezzo. Ogni colonna viene ordinata nel senso predefinito (crescente).
Dim bookOrders = _
From book In books _
Select book.Title, book.Price, book.PublishDate, book.Author _
Order By Author, Title, Price
Vedere anche
Concetti
Introduzione a LINQ in Visual Basic
Riferimenti
Clausola Select (Visual Basic)