我有一个List
和一个List
.customObject类具有ID属性.如何获取List
仅包含List
使用LINQ中ID属性的对象?
编辑:我接受了Konrads的回答,因为它更容易/更直观地阅读.
var result = from o in objList where intList.Contains(o.ID) select o
using System.Linq; objList.Where(x => intList.Contains(x.id));
我刚才遇到了类似的问题并使用了以下解决方案.如果您已经拥有了对象列表,则可以删除int列表中未找到的所有对象,只留下objList中的匹配项.
objList.RemoveAll(x => !intList.Contains(x.id));
未经测试,但它会是这样的:
var matches = from o in objList join i in intList on o.ID equals i select o;
@Konrad只是对它进行了测试,它确实有效 - 我只是写了一个错字,我写的是"i.ID"而不是"i".