Сортировка списка <Object> с VB и LINQ

Я тестирую некоторые выражения LINQ и не могу заставить их работать со классом List. В основном я хочу, чтобы иметь возможность сортировать список пользовательских объектов по типу свойств, однако синтаксис С# LINQ - УБИТЬ меня, и я не могу понять, как его преобразовать в VB

Class Foo
 Sub New(Name As String, Position As Integer)
 Me.Name = Name
 Me.Position = Position
 End Sub
 Public Name As String
 Public Position As Integer
End Class
Sub Main()
 Dim l As New List(Of Foo)
 l.Add(New Foo("C", 3))
 l.Add(New Foo("B", 2))
 l.Add(New Foo("A", 1))
 Dim asc = ..... (sort l by position asecnding)
 Dim desc = ..... (sort l by position descending)
End Sub
2 ответа

Dim asc = From f In l Order By f.Position
Dim desc = From f In l Order By f.Position Descending


Я использовал конвертер С# в VB.

Dim sortedasc = l.OrderBy(Function(k) k.Position) 
Dim sorteddesc = l.OrderByDescending(Function(k) k.Position)

это должно работать.

licensed under cc by-sa 3.0 with attribution.