當組合列表時,我有點特殊要求。我會試着用一個例子來說明。假設我正在處理2個GamePlayer對象列表。 GamePlayer有一個名爲LastGamePlayed的屬性。一個獨特的GamePlayer通過GamePlayer.ID屬性被識別。現在我想將listA和listB組合到一個列表中,如果兩個列表中都有一個給定的玩家,我想保留listA的值。結合列表,但獲得唯一成員
我不能只是將列表和使用比較器,因爲我的唯一性是基於ID,如果我的比較器檢查ID,我將無法控制它是否選擇listA或listB的元素。我需要這樣的東西:
for each player in listB
{
if not listA.Contains(player)
{
listFinal.Add(player)
}
}
然而,有沒有做到這一點,而不是在數組listB每個元素搜索的listA的更優化的方法嗎?
****編輯****:或者,如果我想根據LastGamePlayed的值選擇保留哪個GamePlayer(而不是知道ListA優先於ListB)?所以我想要一個獨特的GamePlayer對象列表,但是對於每個玩家我想要GamePlayer對象與最近的LastGamePlayed?基本上我需要一種方法來確定當有重複的GamePlayers時要保留哪個對象。
listFinal是否包含listA中不存在的所有listA和listB中的所有項目? – Thomas 2010-04-09 02:19:36