我试图从包含FullNames和ID的列表中获取不同的FullNames,然后在ListBox控件中显示这些.有没有一个简单的方法呢?谢谢本
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?? } }
解决方法
使用LINQ:
var uniqueNames = myContacts.Select(c => c.FullName).Distinct().ToList();
应该工作如果订单不重要,您还可以使用:
var names = new HashSet<string>(); while(dr.Read()) { ... names.Add(contact.FullName); }
(然后使用ToList()/ OrderBy任何你需要的)