c# - 如何将两个列表的项目与 linq 进行比较?

标签 c# linq

我有两个列表,其中一个有 5 个元素,另一个有 4 个元素。它们有一些相同的元素,但也有不同的元素。我想创建一个包含不同元素的列表。我该怎么做?

注意:5 个元素列表是我的主要列表。

最佳答案

这个呢?

var list1 = new List<int>( new []{1,2,3,4,5});
var list2 = new List<int>( new []{1,3,4});
var list3 = list1.Except( list2);

在这种情况下,list3 将只包含 2 和 5。

编辑

如果您希望两个集合中的元素都是唯一的,则以下代码就足够了:

var list1 = new List<int>( new []{1,2,3,4,5});
var list2 = new List<int>( new []{1,3,4,7});
var list3 = list1.Except(list2).Union(list2.Except(list1));

将输出 2,5 和 7。

关于c# - 如何将两个列表的项目与 linq 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956896/

相关文章:

c# - SignalR 集线器方法参数序列化

c# - 在 C# 中获取图表区域边界

c# - 在 C# 应用程序中嵌入 LuaInterface 性能很慢?

c# - ASP.NET MVC 如何获得允许的用户?在 Windows 身份验证中

具有分隔值的多个值的 C# app.config

c# - 如何使用 Dapper 从数据库中检索单个值

c# - LINQ连接多表

sql - 使用 REST API 的 Linq to SQL?

c# - LINQ 中的匿名类型查询或普通查询

c# - 捕获的变量 IndexOutOfBounds