using System.Collections.Generic;
public string studentname;
public override String ToString()
return String.Format("{0}: {1} - {2} - grade {3}", id, studentname, subject, grade);
public static void Main()
studentname = "sigfried",
IEnumerable<Student> distinctStudents = students
.GroupBy(s => Tuple.Create(s.studentname, s.subject, s.grade))
foreach(var student in distinctStudents)
Console.WriteLine(student);