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

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

DDD
DDD原创
2025-01-13 14:33:43113浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn