Linq -除了一个列表中有另一个列表中的项目

本文关键字:列表 另一个 项目 一个 Linq | 更新日期: 2023-09-27 17:49:50

我认为我的问题很简单,但我是一个新手…所以我在这里遇到了困难

我的系统调用一个名为serviceTOP的服务,它返回给我一个itemTOP {Id, Name}的列表。

这些ItemsTOP不在我的系统中,但是用户可以选择将哪个itemTOP导入到系统中。

导入的ItemsTOP成为一个对象Item { Id, IdTOP, Name }

因此,当系统调用serviceTOP时,在向用户显示它们之前,我必须从列表中过滤已经导入的项。

让我们进入code:

IList<ItemsTOP> listTOP = new ServiceTOP().GetItemsTOP();
IList<Items> list = new WCFServiceClient().GetItems();
var filteredListTOP = listTOP.Select( i => i.Id ).Except( i => i.IdTOP );

这种方法可以工作,但是它返回的是一个只包含id的字符串列表。

我想同时选择TOP的id和名称。

Linq -除了一个列表中有另一个列表中的项目

修改如下:

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

:

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