簡體   English   中英

從List獲取不同的屬性值

[英]Get Distinct property values from List

我試圖從包含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??


            }
        }

使用LINQ:

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

應該管用。 如果訂單不重要,您還可以使用:

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

(然后使用ToList() / OrderBy無論你需要什么)

我想你可以在這里使用不同的方法:

  1. 進行查詢不同值的Sql查詢。

  2. 檢查列表中的聯系人。 這種方法假設您的類必須重新定義euqality運算符。 或者,您可以檢查此聯系人ID是否已列在列表中。

  3. 如上所述使用Linq查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM