I have implemented a comparison class for my custom class, so that I can use Intersect on two lists (StudentList1 and StudentList2). However, when I run the following code, I don't get any results.
Student:
class CompareStudent : IEqualityComparer<Student>
{
    public bool Equals(Student x, Student y)
    {
        if (x.Age == y.Age && x.StudentName.ToLower() == y.StudentName.ToLower())
            return true;
        return false;
    }
    public int GetHashCode(Student obj)
    {
        return obj.GetHashCode();
    }
}
class Student
{
    public int StudentId{set;get;}
    public string StudentName{set;get;}
    public int Age{get;set;}
    public int StandardId { get; set; }
}
Main:
IList<Student> StudentList1 = new List<Student>{
                new Student{StudentId=1,StudentName="faisal",Age=29,StandardId=1},
                new Student{StudentId=2,StudentName="qais",Age=19,StandardId=2},
                new Student{StudentId=3,StudentName="ali",Age=19}
            };
IList<Student> StudentList2 = new List<Student>{
                new Student{StudentId=1,StudentName="faisal",Age=29,StandardId=1},
                new Student{StudentId=2,StudentName="qais",Age=19,StandardId=2},
            };
var NewStdList = StudentList1.Intersect(StudentList2, new CompareStudent());
Console.ReadLine();
 
     
     
     
    