Mega Code Archive

 
Categories / VB.Net / XML LINQ
 

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