使用 LINQ 比较 2 个列表
在 C# 和 .NET 中,LINQ(Language Integrated Query,即语言集成查询)是一个强大的查询语言,可以用于对多种数据源进行查询和操作。其中,Comparer
类用于对多个列表进行比较。以下是一个使用 Comparer
类来比较 2 个列表的例子。
using System.Linq;
// 定义要比较的两个列表
List<int> list1 = new List<int> { 1, 2, 3, 4, 5 };
List<int> list2 = new List<int> { 4, 5, 6, 7, 8 };
// 使用 LINQ 创建一个查询,并使用 `All` 方法来比较两个列表
var comparer = list1.Comparer();
var result = list1.Where(x => list2.All(y => comparer.Compare(x, y)) == true).ToList();
using System.Collections.Generic;
// 定义要比较的两个列表
List<int> list1 = new List<int> { 1, 2, 3, 4, 5 };
List<int> list2 = new List<int> { 4, 5, 6, 7, 8 };
// 创建一个比较器,用于比较两个列表
var comparer = new Comparer<int>(
(x, y) => x.CompareTo(y) == 0,
(x, y) => x.CompareTo(y) < 0 ? -1 : 1
);
// 使用 LINQ 创建一个查询,并使用 `All` 方法来比较两个列表
var result = list1.Where(x => list2.All(y => comparer.Compare(x, y)) == true).ToList();
在这个例子中,我们首先定义了要比较的两个列表:list1
和 list2
。然后,我们创建了一个比较器 comparer
,用于比较两个列表中的元素。比较器使用了 CompareTo
方法来比较元素,并实现了 IComparer<int>
接口。
最后,我们使用 LINQ 查询来比较两个列表,并使用 All
方法来检查所有元素是否满足比较条件。查询结果将被存储在一个新的列表中。
领取专属 10元无门槛券
手把手带您无忧上云