// C# program to check the new employee
// is found in the given old data list
using System;
using System.Linq;
using System.Collections.Generic;
// Employee details
public class Employee {
public int emp_id
{
get;
set;
}
public string emp_name
{
get;
set;
}
public string emp_gender
{
get;
set;
}
public string emp_hire_date
{
get;
set;
}
public int emp_salary
{
get;
set;
}
}
// the EmpCompar class implements
// IEqualityComparer<Employee>
// To compare the details of the new
// employee to the details of the old list
public class EmpCompar : IEqualityComparer<Employee> {
public bool Equals(Employee a, Employee b)
{
if (a.emp_id == b.emp_id && a.emp_name == b.emp_name &&
a.emp_gender == b.emp_gender &&
a.emp_hire_date == b.emp_hire_date &&
a.emp_salary == b.emp_salary)
return true;
return false;
}
public int GetHashCode(Employee obj)
{
return obj.GetHashCode();
}
}
class GFG {
// Main method
static public void Main()
{
List<Employee> emp = new List<Employee>() {
new Employee() {emp_id = 209, emp_name = "Anjita", emp_gender = "Female",
emp_hire_date = "12/3/2017", emp_salary = 20000},
new Employee() {emp_id = 210, emp_name = "Soniya", emp_gender = "Female",
emp_hire_date = "22/4/2018", emp_salary = 30000},
new Employee() {emp_id = 211, emp_name = "Rohit", emp_gender = "Male",
emp_hire_date = "3/5/2016", emp_salary = 40000},
new Employee() {emp_id = 212, emp_name = "Supriya", emp_gender = "Female",
emp_hire_date = "4/8/2017", emp_salary = 40000},
new Employee() {emp_id = 213, emp_name = "Anil", emp_gender = "Male",
emp_hire_date = "12/1/2016", emp_salary = 40000},
new Employee() {emp_id = 214, emp_name = "Anju", emp_gender = "Female",
emp_hire_date = "17/6/2015", emp_salary = 50000},
};
// New employee
Employee emp1 = new Employee() {emp_id = 215, emp_name = "Anu",
emp_gender = "Female", emp_hire_date = "18/6/2015",
emp_salary = 50000};
// Query to check the new employee is
// found in the given old data list
// Using Contain operator
var res = emp.Contains(emp1, new EmpCompar());
Console.WriteLine("Employee Found?: {0}", res);
}
}