从一个列表中移除另一个列表中存在的项目
任务是从泛型列表中遍历并移除另一个列表中包含的项目。考虑以下假设场景:
<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中文网其他相关文章!