FirstLast Or Default Example
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} _ }) FirstLastOrDefaultExample() End Sub Function firstFunc(ByVal n As Integer) As Boolean Return (n Mod 2 = 0) End Function Function lastFunc(ByVal n As Integer) As Boolean Return (n Mod 2 = 1) End Function Public Sub FirstLastOrDefaultExample() Dim numbers As Integer() = New Integer() {1, 3, 5, 7, 9} Dim firstDelegate As New Func(Of Integer, Boolean)(AddressOf firstFunc) Dim lastDelegate As New Func(Of Integer, Boolean)(AddressOf lastFunc) Dim query = numbers.FirstOrDefault(firstDelegate) Console.WriteLine("The first even element in the sequence") Console.WriteLine("The last odd element in the sequence") query = numbers.LastOrDefault(lastDelegate) End Sub End Module