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.
Il raggruppamento consiste nell'inserire i dati in gruppi in modo che gli elementi in ogni gruppo condividano un attributo comune.
Nella figura seguente vengono illustrati i risultati del raggruppamento di una sequenza di caratteri. La chiave di ogni gruppo è il carattere.
I metodi dell'operatore di query standard che raggruppano gli elementi dati sono elencati nella sezione seguente.
Metodi
| Nome metodo | Descrizione | Sintassi delle espressioni di query di Visual Basic | Altre informazioni |
|---|---|---|---|
| RaggruppaPer | Raggruppa gli elementi che condividono un attributo comune. Ogni gruppo è rappresentato da un IGrouping<TKey,TElement> oggetto . | Group … By … Into … |
Enumerable.GroupBy Queryable.GroupBy |
| ToLookup | Inserisce gli elementi in un oggetto Lookup<TKey,TElement>, un dizionario uno-a-molti, sulla base di una funzione del selettore di chiavi. | Non applicabile. | Enumerable.ToLookup |
Esempio di sintassi delle espressioni di query
Nell'esempio di codice seguente viene utilizzata la Group By clausola per raggruppare numeri interi in un elenco in base al fatto che siano pari o dispari.
Dim numbers As New System.Collections.Generic.List(Of Integer)(
New Integer() {35, 44, 200, 84, 3987, 4, 199, 329, 446, 208})
Dim query = From number In numbers
Group By Remainder = (number Mod 2) Into Group
Dim sb As New System.Text.StringBuilder()
For Each group In query
sb.AppendLine(If(group.Remainder = 0, vbCrLf & "Even numbers:", vbCrLf & "Odd numbers:"))
For Each num In group.Group
sb.AppendLine(num)
Next
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' Odd numbers:
' 35
' 3987
' 199
' 329
' Even numbers:
' 44
' 200
' 84
' 4
' 446
' 208