Enumerable.GroupBy groups the elements of a sequence according to a specified key selector function and projects the elements for each group by using a specified function.
Imports System
Imports System.Linq
Imports System.Collections.Generic
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Public Class Example
Public Shared Sub Main()
Dim pets As New List(Of Pet)(New Pet() _
{New Pet With {.Name = "Barley", .Age = 8}, _
New Pet With {.Name = "Boots", .Age = 4}, _
New Pet With {.Name = "Whiskers", .Age = 1}, _
New Pet With {.Name = "Daisy", .Age = 4}})
Dim query As IEnumerable(Of IGrouping(Of Integer, String)) = _
pets.GroupBy(Function(pet) pet.Age, _
Function(pet) pet.Name)
For Each petGroup As IGrouping(Of Integer, String) In query
Console.WriteLine(petGroup.Key)
For Each name As String In petGroup
Console.WriteLine(" " & name)
Next
Next
End Sub
End Class
Related examples in the same category