Get the Min and max value from a query in CSharp
Description
The following code shows how to get the Min and max value from a query.
Example
using System;//from w w w.ja va 2 s . c o m
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 MyRole
{
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<MyRole> roles = new List<MyRole> {
new MyRole { ID = 1, Role = "Manager" },
new MyRole { ID = 2, Role = "Developer" }
};
List<Salary> salaries = new List<Salary> {
new Salary { ID = 1, Year = 2004, SalaryPaid = 10000.00 },
new Salary { ID = 1, Year = 2005, SalaryPaid = 15000.00 },
new Salary { ID = 1, Year = 2005, SalaryPaid = 15000.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("Minimum Salary:");
Console.Write(query.Min());
Console.WriteLine("Maximum Salary:");
Console.Write(query.Max());
}
}
The code above generates the following result.