Data Structure VB.Net

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