比较2个列表的值C#

时间:2013-06-15 02:25:45

标签: c# list compare

我想比较我正在制作的程序的两个列表的值。我希望它将List 1的第一个值与List 2的第一个值进行比较,然后将List 1的第二个值与List 2的第二个值进行比较,依此类推。

我将如何在C#中执行此操作?

1 个答案:

答案 0 :(得分:12)

有一种特殊方法,称为SequenceEqual

IList<int> myList1 = new List<int>(...);
IList<int> myList2 = new List<int>(...);
if (myList1.SequenceEqual(list2)) {
    ...
}

您可以使用Zip方法对序列进行自定义比较。例如,要查看是否有任何一对在三者之间,您可以这样做:

IList<int> myList1 = new List<int>(...);
IList<int> myList2 = new List<int>(...);
if (myList1.Zip(list2, (a, b) => Math.Abs(a - b)).Any(diff => diff > 3)) {
    ...
}