Get the average salary : Average « LINQ « VB.Net






Get the average salary

   


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, s In salaries _
            Where p.ID = 1 AndAlso p.ID = s.IDPerson _
            Select s.SalaryYear
        Console.WriteLine(query.Average())
    End Sub

End Module

   
    
    
  








Related examples in the same category

1.Using Aggregating Average to get the average of all numbers in an array
2.Using Aggregating Average to get the average length of the words in the array