从List获取不同的属性值

Ben*_*Ben 12 c# db2 wpf

我试图从包含FullNames和ID的列表中获取不同的FullNames,然后在listBox控件中显示这些.有一个简单的方法吗?谢谢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??


            }
        }
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 19

使用LINQ:

var uniqueNames = myContacts.Select(c => c.FullName).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)

应该管用.如果订单不重要,您还可以使用:

var names = new HashSet<string>();
while(dr.Read()) {
    ...
    names.Add(contact.FullName);
}
Run Code Online (Sandbox Code Playgroud)

(然后使用ToList()/ OrderBy无论你需要什么)