Condividi tramite


Raggruppamento di dati (Visual Basic)

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.

Diagramma che mostra un'operazione di raggruppamento LINQ.

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  

Vedere anche