gpt4 book ai didi

c# lambda 表达式根据不同列表中的给定条件从列表中删除项目

转载 作者:太空狗 更新时间:2023-10-30 01:25:50 26 4
gpt4 key购买 nike

假设我有一个 IList<int> ProductIds我正在传递给一个非常慢的网络服务。该调用将如下所示:

var WebServiceResponse = client.SomeCall(ProductIds);

整数列表将包含给定页面的所有产品 ID。

我有另一个列表,比如说 IList<Product>其中 Product 包含 int ProductId成员(member)属性(property)。我想调用我的 Web 服务,但在这样做之前,我想从 ProductIds 中删除所有在我的其他列表中具有匹配 ProductId 的产品的项目。有没有可以为我做这个的单类机,还是我必须运行一个循环?我试过各种各样的东西,但没有编译。我对 lambda 表达式还是个新手,所以希望这个是小菜一碟。

最佳答案

var list = new List<Product>(); //or wherever you get it from
var otherIDs = list.Select(p => p.ProductId);
var WebServiceResponse = client.SomeCall(ProductIds.Where(i => !otherIDs.Contains(i));

如果您的 Web 服务专门采用 List 或 IList,则需要在末尾添加一个 ToList:

var WebServiceResponse = client.SomeCall(ProductIds.Where(i => !otherIDs.Contains(i).ToList()); 

关于c# lambda 表达式根据不同列表中的给定条件从列表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com