VB.Net/LINQ/Order
Order all the cars by PetName
<source lang="vbnet"> Public Class Car
Public PetName As String = String.Empty Public Color As String = String.Empty Public Speed As Integer Public Make As String = String.Empty Public Overloads Overrides Function ToString() As String Return String.Format("Make={0}, Color={1}, Speed={2}, PetName={3}", Make, Color, Speed, PetName) End Function
End Class Module Program
Sub Main() Dim myCars As New List(Of Car)(New Car() { _ New Car With {.PetName = "D", .Color = "Silver", .Speed = 100,.Make = "BMW"}, _ New Car With {.PetName = "C", .Color = "Tan", .Speed = 90, .Make = "BMW"}, _ New Car With {.PetName = "B", .Color = "Rust", .Speed = 5, .Make = "Yugo"}, _ New Car With {.PetName = "A", .Color = "White", .Speed = 43, .Make = "Ford"}})
Dim subset = From c In myCars Order By c.PetName Select c For Each c As Car In subset Console.WriteLine("Car {0}", c) Next End Sub
End Module
</source>
Order by two properties
<source lang="vbnet"> Imports System.Reflection Imports System
Public Class Role
Public ID As Integer Public RoleDescription As String
End Class Public Class Person
Public ID As Integer Public IDRole As Integer Public LastName As String Public FirstName As String
End Class Public Class Salary
Public IDPerson As Integer Public Year As Integer Public SalaryYear As Double
End Class Module Module1
Sub Main() Dim people As New List(Of Person)(New Person() { _ New Person With {.ID = 1, .IDRole = 1, .LastName = "A", .FirstName = "Brad"}, _ New Person With {.ID = 2, .IDRole = 2, .LastName = "G", .FirstName = "Tom"} _ }) Dim roles As New List(Of Role)(New Role() { _ New Role With {.ID = 1, .RoleDescription = "Manager"}, _ New Role With {.ID = 2, .RoleDescription = "Developer"} _ })
Dim salaries As New List(Of Salary)(New Salary() { _ New Salary With {.IDPerson = 1, .Year = 2004, .SalaryYear = 10000.0}, _ New Salary With {.IDPerson = 1, .Year = 2005, .SalaryYear = 15000.0}, _ New Salary With {.IDPerson = 2, .Year = 2005, .SalaryYear = 15000.0} _ }) Dim query = From p In people _ Select p _ Order By p.FirstName, p.LastName End Sub
End Module
</source>