1

我有两个排序列表

 1. oldlist<int,int> 

 2. newlist <int,int>

(应用程序特定信息 - 键是行业 ID,值是重量)

我想比较列表中的变化。

我想要以下东西 -

  • 重量不为零的项目列表,但在新列表中为零。

  • 重量不为零且已从旧列表更改的项目列表。

我知道有一种东西叫做比较器。可以在这里使用吗?

4

1 回答 1

3

您可以使用 Linq:

// list of items where weight was not zero, but its zero in the newlist.
var result1 = from o in oldList
              join n in newList on o.Key equals n.Key 
              where o.Value != 0 && n.Value == 0
              select new {Old = o, New = n};

// list of items where weight is not zero and has changed from oldlist.
var result2 = from o in oldList
              join n in newList on o.Key equals n.Key
              where o.Value != 0 && o.Value != n.Value
              select new { Old = o, New = n };
于 2012-07-26T16:29:59.823 回答