我有2个IEnumerable列表,有一个方法调用GetId(),返回一个integer.
IEnumerable oldBoats
IEnumerable updatedBoats
Run Code Online (Sandbox Code Playgroud)
我想比较两个列表.如果updatedBoats.getId()返回唯一ID oldBoats,我想将其添加到列表中.
所以我这样做了:
IEnumerable<Boat> newBoats = updatedBoats
.Where(c => oldBoats
.Any(d => d.GetId() != c.GetId())
.ToList()
Run Code Online (Sandbox Code Playgroud)
目前标识的oldBoats和newBoats是[1, 2, 3, 4, 5].我想测试基本情况,但这并没有通过.将newBoats始终返回所有的,当它应该返回ID的列表none.我在做订单c和d错吗?
这个怎么样?
var newBoats = updatedBoats.Where(u => !oldBoats.Any(o => o.GetId() == u.GetId()));
Run Code Online (Sandbox Code Playgroud)