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