Imports System.Collections.Generic
dim things = new List(Of DataItem)
things.Add(new DataItem() With { .ItemData1 = "This", .ItemData2 = "Is", .ItemData3 = "Cool"})
things.Add(new DataItem() With { .ItemData1 = "This", .ItemData2 = "Are", .ItemData3 = "Nifty"})
things.Add(new DataItem() With { .ItemData1 = "These", .ItemData2 = "Be", .ItemData3 = "Gnarly"})
dim groupThings = things.GroupBy(function(x) x.ItemData1)
For Each groupItem in groupThings
Console.WriteLine($"Group {i}: {groupItem.Key}")
For Each item in groupItem
Console.WriteLine($" | ItemData2: {item.ItemData2} | ItemData3: {item.ItemData3}")
Public Property ItemData1 as String
Public Property ItemData2 as String
Public Property ItemData3 as String