7

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

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

4

1 回答 1

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)) {
    ...
}
于 2013-06-15T02:27:43.340 回答