VB.Net/LINQ/SingleOrDefault

Материал из VB Эксперт
Перейти к: навигация, поиск

Single 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} _
        })
        SingleOrDefaultExample()
    End Sub
    Function singleFunc(ByVal n As Integer) As Boolean
        Return (n > 9)
    End Function
    Public Sub SingleOrDefaultExample()
        Dim numbers As Integer() = New Integer() {1, 3, 5, 7, 9}
        Dim singleDelegate As New Func(Of Integer, Boolean)(AddressOf singleFunc)
        Dim query = numbers.SingleOrDefault(singleDelegate)
    End Sub
End Module