我觉得我的问题很简单,但我是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的字符串列表。
我想同时选择TOP的名称和名称。
提前致谢。
答案 0 :(得分: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 );