Use Average method to calculate the average value from a query : Average « LINQ « C# / C Sharp






Use Average method to calculate the average value from a query

 
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Reflection;

class Salary {
    int _id;
    int _year;
    double _salary;

    public int ID {
        get { return _id; }
        set { _id = value; }
    }

    public int Year {
        get { return _year; }
        set { _year = value; }
    }

    public double SalaryPaid {
        get { return _salary; }
        set { _salary = value; }
    }
}
class Employee {
    int _id;
    int _idRole;
    string _lastName;
    string _firstName;

    public int ID {
        get { return _id; }
        set { _id = value; }
    }

    public int IDRole {
        get { return _idRole; }
        set { _idRole = value; }
    }

    public string LastName {
        get { return _lastName; }
        set { _lastName = value; }
    }

    public string FirstName {
        get { return _firstName; }
        set { _firstName = value; }
    }
}
class Role {
    int _id;
    string role;

    public int ID {
        get { return _id; }
        set { _id = value; }
    }

    public string Role {
        get { return role; }
        set { role = value; }
    }
}

public class MainClass {
    public static void Main() {
        List<Employee> people = new List<Employee> {
               new Employee { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
               new Employee { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"},
               new Employee { ID = 3, IDRole = 2, LastName = "G", FirstName = "M"},
               new Employee { ID = 4, IDRole = 3, LastName = "C", FirstName = "G"}
            };
        List<Role> roles = new List<Role> {
               new Role { ID = 1, Role = "Manager" },
               new Role { ID = 2, Role = "Developer" }
            };

        List<Salary> salaries = new List<Salary> {
               new Salary { ID = 1, Year = 2004, SalaryPaid = 10.00 },
               new Salary { ID = 1, Year = 2005, SalaryPaid = 15.00 },
               new Salary { ID = 1, Year = 2005, SalaryPaid = 15.00 }
            };
        var query = from p in people
                    join s in salaries on p.ID equals s.ID
                    where p.ID == 1
                    select s.SalaryPaid;

        Console.WriteLine("Average Salary:");
        Console.Write(query.Average());
    }
}

 








Related examples in the same category

1.uses Average to get the average of all values of an integer array.
2.Average with int array
3.uses Average to get the average length of the words in the string array.
4.Grouped Average