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

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

DDD
发布: 2025-01-13 14:21:44
原创
505 人浏览过

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

从另一个列表中移除项目

问题:

如何遍历泛型项目列表并将其从另一个项目列表中移除?

场景:

考虑以下假设示例:

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

目标是使用foreach循环遍历list1,并移除list2中也存在的任何项目。但是,foreach循环不提供基于索引的方法。

解答:

要实现此目标,您可以使用Except方法:

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

这将创建一个新的列表result,其中包含list2中不存在于list1中的项目。Except方法不会修改原始列表。

优化:

为了进一步优化代码,您可以消除对临时变量的需求:

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

需要注意的是,Except返回一个包含计算差异的新列表,因此它不会修改list1或list2。

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

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