如何使用linq从第二个集合中删除第一个集合中出现的每个项目

本文关键字:集合 项目 删除 linq 何使用 第二个 第一个 | 更新日期: 2023-09-27 18:29:55

假设我有两个集合:

1) {1, 2, 3, 5}
2) {2, 5}

我想从第一个收藏中删除第二个收藏中出现的每个项目,所以我会得到:

{1, 3}

问题:

  1. 如何使用Join OP(更好地使用扩展方法语法)
  2. 有没有什么方法可以像使用嵌套的for/foreach循环那样在两个集合上迭代

编辑:
要同时迭代两个集合,可以使用嵌套的from子句:

from boy in boys
from girl in girls
select boy + "+" + girl

我第一次发现这个语法是必要的:)

如何使用linq从第二个集合中删除第一个集合中出现的每个项目

这可以满足的需要

var solution = list1.Except(list2);

你可以在这里找到更多关于的细节,但基本想法是:

此方法返回第一个中未出现在中的元素第二它也不会返回秒中不返回的元素首先出现。

简单。使用Except

var newList = list1.Except(list2).ToList();