<分区>
我想比较我正在制作的程序的两个列表的值。我希望它将列表 1 的第一个值与列表 2 的第一个值进行比较,然后将列表 1 的第二个值与列表 2 的第二个值进行比较,依此类推。
我将如何在 C# 中执行此操作?
<分区>
我想比较我正在制作的程序的两个列表的值。我希望它将列表 1 的第一个值与列表 2 的第一个值进行比较,然后将列表 1 的第二个值与列表 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)) {
...
}
关于c# - 比较 2 个列表的值 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17119625/