C# 从列表中获取不同的属性值

C# 从列表中获取不同的属性值,c#,wpf,db2,C#,Wpf,Db2,我试图从包含全名和ID的列表中获取不同的全名,然后将它们显示在listBox控件中。有简单的方法吗?谢谢你,本 using (DB2DataReader dr = command.ExecuteReader()) { while (dr.Read()) { Contact contact = new Contact(); contact.Co

我试图从包含全名和ID的列表中获取不同的全名,然后将它们显示在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??


            }
        }
林克:

var uniqueNames = myContacts.Select(c => c.FullName).Distinct().ToList();
应该有用。如果订单不重要,您也可以使用:

var names = new HashSet<string>();
while(dr.Read()) {
    ...
    names.Add(contact.FullName);
}
var name=new HashSet();
while(dr.Read()){
...
name.Add(contact.FullName);
}

(然后使用
ToList()
/
OrderBy
任何您需要的工具)

我认为您可以在这里使用不同的方法:

  • 进行查询不同值的Sql查询

  • 检查列表中已存在的联系人。这种方法假设类必须重新定义euqality运算符。或者您可以检查此联系人id是否已在列表中

  • 如上所述,使用Linq查询


  • 非常感谢!那么物品来源呢?应该设置为什么?谢谢,我试过了,但是运气不好。为Linq的选择干杯