【发布时间】:2011-02-14 06:58:02
【问题描述】:
我试图弄清楚如何遍历我想从另一个项目列表中删除的通用项目列表。
假设我有这个作为假设的例子
List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
我想用 foreach 遍历 list1 并删除 List1 中也包含在 List2 中的每个项目。
我不太确定该怎么做,因为 foreach 不是基于索引的。
【问题讨论】:
-
您想删除 List1 中同时也在 List2 中的项目?
-
如果你有 list1 = { foo1 } 和 list2 = { foo1, foo1 } 会发生什么。应该从 list2 中删除 foo1 的所有副本,还是只删除第一个?
-
-1 - 我对这个问题的每个答案都投了反对票,因为我认为他们都错了,但看起来这个问题只是被问得很糟糕。现在,我无法改变它们——抱歉。您想从
list1中删除list2中存在的项目,还是要从list2中删除list1中存在的项目?在发表此评论时,提供的每个答案都将执行后者。 -
@John Rashch,你应该对那些反对票不那么高兴。一些答案是相当概念性的,仅演示如何实现 OP 想要的,甚至与问题中提到的列表无关。
-
@Mark - 你是对的,完全是我的错 - 这就是为什么我把评论放在这里解释发生了什么,我正在寻找以前的答案,同时我已经遇到过类似的问题在我投票之后,我发现它后打算离开 cmets - 事实证明这不是最好的过程!