Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 对列表进行排序<;对象>;用VB和LINQ_Vb.net_Linq - Fatal编程技术网

Vb.net 对列表进行排序<;对象>;用VB和LINQ

Vb.net 对列表进行排序<;对象>;用VB和LINQ,vb.net,linq,Vb.net,Linq,我正在尝试一些LINQ表达式,但无法使它们与List类一起使用。基本上,我希望能够按属性类型对自定义对象列表进行排序,但是C#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

我正在尝试一些LINQ表达式,但无法使它们与List类一起使用。基本上,我希望能够按属性类型对自定义对象列表进行排序,但是C#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
我使用c#到VB的转换器

Dim sortedasc = l.OrderBy(Function(k) k.Position) 
Dim sorteddesc = l.OrderByDescending(Function(k) k.Position)
这应该行得通。

在VB中,您不需要在末尾使用“选择f”。
Dim asc = From f In l Order By f.Position
Dim desc = From f In l Order By f.Position Descending