c# - 合并列表并只返回重复项

标签 c# linq list merge duplicates

假设我有两个列表:

List<string>foo=new List<string>();
List<string>bar=new List<string>();

我想合并这两个列表并返回另一个列表,其中只有两个列表中的重复项。
所以如果我有:

//pseudocode
foo={"baz","lemons","somethingelse"}
bar={"what","another","baz","somethingelse","kitten"}

我希望它返回一个新列表:

//pseudocode
dupes={"baz","somethingelse"}

我认为使用 LINQ 是最好的选择。但是,由于我的 LINQ 经验很差,所以我还不太明白。

最佳答案

Intersect 是您想要的,它是 LINQ 的一部分。

dupes = foo.Intersect(bar).ToList();

确保您的文件中引用了 System.Linq 命名空间。

关于c# - 合并列表并只返回重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13848355/

相关文章:

python - 从列表中创建组合,如果分隔符的子字符串位于列表项的 1 个以上子元素中,则删除组合

c# - 如何使类可迭代?

C#通过属性获取字段值(PropertyInfo)

c# - 如何使用 .NET Reactor 混淆包含多个附属程序集的 .NET Core 3 程序集?

sql - 递归SQL CTE和自定义排序顺序

c# - 将 sql select 转换为 LINQ

c# - 如何按不属于对象的变量对对象列表进行排序?

c# - 无法使用 ASP.NET session 状态提供程序连接到 Redis 服务器

c# - 使用 IEqualityComparer 查找记录

python - 如何对列表中元素的所有实例进行索引、删除和计数?