С LINQ:
var uniqueNames = myContacts.Select(c => c.FullName).Distinct().ToList();
должно работать.Если заказ не важен, вы также можете использовать:
var names = new HashSet<string>();
while(dr.Read()) {
...
names.Add(contact.FullName);
}
(а затем использовать ToList()
/ OrderBy
все, что вам нужно)