【发布时间】:2011-04-23 05:07:01
【问题描述】:
我想比较两个具有相同数量元素的列表,并找出它们之间的差异数量。现在,我有这个代码(有效):
public static int CountDifferences<T> (this IList<T> list1, IList<T> list2)
{
if (list1.Count != list2.Count)
throw new ArgumentException ("Lists must have the same number of elements", "list2");
int count = 0;
for (int i = 0; i < list1.Count; i++) {
if (!EqualityComparer<T>.Default.Equals (list1[i], list2[i]))
count++;
}
return count;
}
这让我感觉很混乱,似乎必须有一种更优雅的方式来实现它。有没有办法,也许,将两个列表组合成一个元组列表,然后简单地检查新列表的每个元素,看看两个元素是否相等?
【问题讨论】:
标签: c# linq list comparison