我想比较我正在制作的程序的两个列表的值。我希望它将List 1的第一个值与List 2的第一个值进行比较,然后将List 1的第二个值与List 2的第二个值进行比较,依此类推。
我将如何在C#中执行此操作?
答案 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)) {
...
}