我目前正在使用2个列表。我需要将列表中的项目相互比较,但我不想将每个项目与其他项目进行比较,只需要在相应列表中位于相同索引位置的项目。
所以它可能看起来像:
List1.item1 == List2.item1
List1.item2 == List2.item2
List1.item3 == List2.item3
并为每个返回true或false。我打算使用foreach循环,但我无法弄清楚如何同时遍历这两个列表,并在此过程中进行比较。我现在没有任何代码可以分享,因为我不知道从哪里开始。可以使用任何帮助来查找资源或代码示例。
谢谢
答案 0 :(得分:3)
使用Zip扩展名方法。
elem2
答案 1 :(得分:1)
for (int i = 0; i < List1.Count; i++) //iterate over each possible index
{
if (List1[i] == List2[i])
{
//do something
}
}
您应该处理List1
和List2
没有相同数量的项目的情况,例如:i < Math.Min(List1.Count, List2.Count)
,所以不要超出边界一些清单。
答案 2 :(得分:0)
另一种选择,您可以使用http://sqlfiddle.com/#!9/bed148/1扩展名。
var difference = collection.Except(samples).ToList();
与zip类似,但返回列表之间的差异。不确定这是否适用于您的方案,但它确实有效。