比较两个列表

时间:2011-04-08 10:24:00

标签: c# asp.net list

列表A和列表

列表A =新列表(); 列表B =新列表();

为简单起见,我在每个列表中都提到了产品。这里的数字是指产品ID。

  List A contains 1,2,3,4,5

  List B contains 1,2,3,4,5,6,7

我想知道c#asp.net中的代码,它将比较两个列表并同步它们。如果列表B有更多产品(比方说19,20),则将19,20复制到列表A。

让我们说它是一个List,我如何比较qty属性。我必须检查两个列表中是否有相同的产品ID。然后它会检查qty属性。它会使它们同步。

2 个答案:

答案 0 :(得分:2)

List<T> result = firstList.Except(secondList).ToList()

您可能需要在类上实现EqualityComparer<T>以确保对象的相等性。

答案 1 :(得分:2)

不确定这是否是最有效的解决方案(我确信必须有更好的Linq方法)...

c = A.Except(B).Union(B.Except(A)).ToList();