2012-03-01 10 views
8

私はいくつかのLINQ式を試していますが、それらをListクラスで使用することはできません。基本的に私は、しかし、C#のLINQの構文は、私を殺して、プロパティの型によってカスタムオブジェクトのリストをソートできるようにしたいと私はVBのC#を使用<Object>のリストをVBとLINQで並べ替える

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 

答えて

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

。 –

+0

ああええ!ありがとう、ジェイソン – harriyott

7

VBにそれを変換する方法を見つけ出すことはできませんコンバータ..あなたは、VBで最後に "F選択" する必要はありません

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

これは動作するはずです。..

関連する問題