In questo caso arriva in aiuto il metodo "Distinct()" del framework .Net che restituisce i valori univoci.
public class People
{
 public string Name;
 public string Surname;
 ...
}
List<People> listPeople = new List<People>();
People people = new People();
people.Name="A";
people.Surname="AAA";
listPeople.Add(people);
...
people = new People();
people.Name="A";
people.Surname="AAA";
listPeople.Add(people);
...
people = new People();
people.Name="B";
people.Surname="BBB";
listPeople.Add(people);
...
var uniquePeople = listPeople.Distinct();