VB.Net/LINQ/Order — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:41, 26 мая 2010
Order all the cars by PetName
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
Order by two properties
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