将列表与列表进行比较

时间:2012-01-27 07:47:34

标签: c#

我想比较两个不同长度和/或相同长度的List。第一个列表被视为原始列表。第二个列表是更新列表。第二个列表可能相同,但排序方式不同。

我想跟踪列表中的添加和减少。如果删除了某些内容,则可以将其添加到已删除的集合中,反之亦然。

以下是带有输入

的每个列表的示例
Original List    Updated List
=============    ============
Jim              Tom
Tom              Mike
Mike             Harry
Sue              Sue
Kim              Roger
Roger

这是一个理想的输出:

Addition List    Subtraction List
=============    ================
Harry            Jim
                 Kim

如果你有想法,我会很高兴听到他们!

1 个答案:

答案 0 :(得分:8)

使用LINQ。

var diff1 = List1.Except(List2);
var diff2 = List2.Except(List1);