2011-04-11 74 views
6

我覺得我的問題很容易,但我在LINQ新手物品......所以我在這裏LINQ的 - 除了一個列表與另一

困難時期我的系統調用服務,叫serviceTOP,返回我的列表itemTOP {Id, Name}

這些ItemsTOP不在我的系統中,但用戶可以選擇導入到系統的哪個itemTOP。

進口ItemsTOP成爲一個對象Item { Id, IdTOP, Name }

因此,當系統調用serviceTOP,他們展示給用戶之前,我必須過濾從列表中已導入的項目。

讓我們去代碼:

IList<ItemsTOP> listTOP = new ServiceTOP().GetItemsTOP(); 

IList<Items> list = new WCFServiceClient().GetItems(); 

var filteredListTOP = listTOP.Select(i => i.Id).Except(i => i.IdTOP); 

這類作品,但它返回一個只包含ID字符串列表。

我想選擇頂部的ID和名稱。

在此先感謝。

回答

8

更改此:

var filteredListTOP = listTOP.Select(i => i.Id).Except(i => i.IdTOP); 

要這樣:

var filteredListTOP = listTOP.Select(i => new { ID = i.id, Name = i.Name}).Except(i => i.IdTOP);