class Department
{
//Auto-implemnted propeties
public int Id { get; set; }
public string Name { get; set; }
public override string ToString()
{
return string.Format("{0}", Name);
}
}
class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public int departmentId { get; set; }
public override string ToString()
{
return string.Format("{0} {1}", Name, Title);
}
}
class CorporateData
{
public static Department[] departments =
{
//Object initializers let you assign values to any accessible fields or properties of an object without having to exlicitly invoke a constructor
new Department(){ Name = "FMS",Id = 1},
new Department(){ Name = "MFE",Id =2},
new Department(){ Name = "BI",Id = 3},
new Department(){Name = "Detego",Id = 4}
};
public static Employee[] employees =
{
new Employee () {Id = 1,Name = "PerryDe",Title = "Test Leader",departmentId = 1},
new Employee () {Id = 2,Name = "Steven Qi",Title = "SDE",departmentId = 1},
new Employee () {Id = 3,Name = "Guo Hu",Title = "SDE",departmentId = 1},
new Employee () {Id = 4,Name = "Shan Huo",Title = "SDE",departmentId = 2},
new Employee () {Id = 5,Name = "Ming Hao",Title = "SDET",departmentId = 3},
new Employee () {Id = 6,Name = "Xiao Yao",Title = "SDET",departmentId = 3}
};
}
class Program
{
static void Main(string[] args)
{
IEnumerable<Department> departments = CorporateData.departments;
Console.WriteLine("Department Name:");
Print(departments);
Console.WriteLine();
IEnumerable<Employee> employees = CorporateData.employees;
Console.WriteLine("Employee name and title:");
Print(employees);
Console.WriteLine();
Console.WriteLine("Query employee informations using LINQ Join");
var DepartmentEmployeeInfo = from employee in employees
join department in departments on employee.departmentId equals department.Id
select new
{
employeeName = employee.Name,
employeeTitle = employee.Title,
departmentName = department.Name
};
foreach (var employee in DepartmentEmployeeInfo)
{
Console.WriteLine("{0} {1} {2}", employee.employeeName, employee.employeeTitle, employee.departmentName);
}
}
public static void Print<T>(IEnumerable<T> item)
{
foreach (T t in item)
{
Console.WriteLine(t);
}
}
}
LINQ JOIN
最新推荐文章于 2022-01-12 14:57:38 发布