db2 从List获取Distinct属性值

axr492tv  于 2023-10-18  发布在  DB2
关注(0)|答案(3)|浏览(175)

我试图从一个包含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??

            }
        }
t0ybt7op

t0ybt7op1#

使用LINQ:

var uniqueNames = myContacts.Select(c => c.FullName).Distinct().ToList();

应该可以。如果顺序不重要,您还可以使用:用途:

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

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

kknvjkwl

kknvjkwl2#

我认为你可以在这里使用不同的方法:
1.创建查询非重复值的SQL查询。
1.检查已在列表中联系人。这种方法假设你的类必须重新定义等价运算符。或者您可以检查此联系人ID是否已在列表中。
1.使用上面提到的Linq查询。

abithluo

abithluo3#

我们可以这样实现:

var distinctItems = myItemsList.ToList().DistinctBy(x => x.ItemName);

相关问题