I am trying to get distinct FullNames from a list that contains FullNames and IDs then displaying these in a listBox control. Is there a simple way to do it? Thanks Ben
using (DB2DataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
Contact contact = new Contact();
contact.ContactID = Convert.ToInt32(dr["CONTACT_ID"]);
contact.FullName= dr["FULL_NAME"].ToString();
myContacts.Add(contact);
//contactsListBox.ItemsSource = myContacts.Distinct FullName??
}
}
With LINQ:
var uniqueNames = myContacts.Select(c => c.FullName).Distinct().ToList();
should work. If the order is unimportant you could also use:
var names = new HashSet<string>();
while(dr.Read()) {
...
names.Add(contact.FullName);
}
(and then use ToList()
/ OrderBy
whatever you need)