我的目标是像寻找项目
class MyObject
{
string FirstName, string LastName, string Phone
}
,我有这个对象的两个列表:
incomingList<MyObject>
fullList<MyObject>
我怎么能的名单事情是在incomingList
但不是在fullList
我的目标是像寻找项目
class MyObject
{
string FirstName, string LastName, string Phone
}
,我有这个对象的两个列表:
incomingList<MyObject>
fullList<MyObject>
我怎么能的名单事情是在incomingList
但不是在fullList
IEnumerable<MyObject> diffs = incomingList.Except(fullList);
不会编译,LINQ结果不是列表,除非你调用'.ToList()' –
这也依赖于'MyObject'正确实现相等。 – vcsjones
@BenVoigt正确,这是一个'var'会保存我的屁股的例子:)(编辑) – demoncodemonkey
var result = incomingList.Except(fullList);
你以后有什么可能重复[LINQ - 比较两个列表(http://stackoverflow.com/questions/9524681/linq-compare-two-lists) – cadrell0
@ cadrell0 NOP !这是一个正常的int类型,我的是一个自定义类型。他们是不同的。 – CutHimSomeSlack
过载等于或提供相等比较器。它会工作。 – cadrell0