从另一个列表中移除项目
问题:
如何遍历泛型项目列表并将其从另一个项目列表中移除?
场景:
考虑以下假设示例:
<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中文网其他相关文章!