我有一个C#应用程序。我有两个相同自定义类型的列表("NewStock"和"OldStock"),即"书籍"。我想将任何作为列表NewStock但不在OldStock列表中的"Book"对象提取到一个名为ResultList的新列表中。请参阅下面的示例。我该怎么做?
我已经在我的类 Book 上使用实现了 IEqualityComparer 接口,以便我检查一个 book 对象是否等于另一个对象。
NewStock OldStock
A A
B C
C
D
我想要的结果,
ResultList
B
D
var results = newStock.Except(oldStock).ToList()
您可以提供一个自定义比较器来Except
执行此操作。
使用,但要执行此操作:
示例可以在这里找到:MSDN
试试这个:
List<Book> ResultList = NewStock.Select(x=>!OldStock.Contains(x)).ToList();