比较两个列表的值 C#

7
我想比较两个列表的值,这是我正在制作的程序。我希望它将List 1的第一个值与List 2的第一个值进行比较,然后将List 1的第二个值与List 2的第二个值进行比较,依此类推。
如何在C#中实现这一点?

3
可以看看你尝试过什么? - Nikhil Agrawal
1
如果您不能展示出您的尝试以及进行一段时间的研究,那么我们无法帮助您。 - Ricardo Souza
1个回答

12

有一种特殊的方法可以用于这个,叫做SequenceEqual

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

您可以使用Zip方法自定义比较序列。例如,要查看任何一对数字是否不在3的差值范围内,可以这样做:

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)) {
    ...
}

2
如果在晚餐前给孩子们糖果,我们就无法教育他们了。 ;) - Ricardo Souza
我能否只获取变量?因为我不仅想检查它是否相等,而且我想知道它是否在-3和+3的范围内(我知道如何做)。 - ShaunRussell
@rcdmk 这个并没有一个容易在谷歌等搜索引擎上找到的名字。你需要知道在哪里搜索才能找到它。 - Sergey Kalinichenko
@Spl33nMaster,你需要另一种方法 - 看看更新。 - Sergey Kalinichenko
好的,好的... Zip 解决方案加一。 - Ricardo Souza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接