I have a List(Of Hardware) - the List is called
(From a In HWModels Select a.ModelName).Distinct
LINQ to Objects doesn't provide anything to do "distinct by a projection" neatly. You could group by the name and then take the first element in each group, but that's pretty ugly.
var distinct = HWModels.DistinctBy(x => x.ModelName).ToList();
Presumably the VB would be something like
Dim distinct = HWModels.DistinctBy(Function(x) x.ModelName).ToList
Apologies for any syntax errors though :(