首页 > 后端开发 > C++ > 如何有效地从一个列表中删除另一个列表中存在的项目?

如何有效地从一个列表中删除另一个列表中存在的项目?

DDD
发布: 2025-01-13 14:33:43
原创
163 人浏览过

How to Efficiently Remove Items from One List That Exist in Another?

从一个列表中移除另一个列表中存在的项目

任务是从泛型列表中遍历并移除另一个列表中包含的项目。考虑以下假设场景:

<code>List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();</code>
登录后复制

目标是使用 foreach 循环迭代 list1 并移除 list2 中也存在的任何项目。但是,foreach 循环不是基于索引的,这使任务变得复杂。

使用 Except 方法的解决方案

为了应对这一挑战,我们可以使用 Except 方法,该方法排除一个列表中存在于另一个列表中的项目:

<code>List<car> result = list2.Except(list1).ToList();</code>
登录后复制

这将创建一个新的列表 result,其中包含 list2 中不存在于 list1 中的项目。我们甚至可以通过消除临时变量来简化代码:

<code>List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
登录后复制

需要注意的是,Except 会生成一个新列表,而不会修改任何原始列表。

以上是如何有效地从一个列表中删除另一个列表中存在的项目?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板