c# - Linq 选择两个列表中都存在的项目

标签 c# linq list

我有 2 个列表:

myObject object1 = new myObject(id = 1, title = "object1"};
myObject object2 = new myObject(id = 2, title = "object2"};
myObject object3 = new myObject(id = 3, title = "object3"};

//List 1
List<myObject> myObjectList = new List<myObject>{object1, object2, object3};

//List 2
List<int> idList = new List<int>{2, 3};

有没有一种方法可以使用 Linq 仅提取存在于第二个列表中的第一个列表中的对象,以便我剩下:

{object2, object3}

我查看了 intersect,但它似乎只有在两个列表的类型相同时才有效。

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

LINQ 解决方案:

myObjectList = myObjectList.Where(X => idList.Contains(X.id)).ToList();

关于c# - Linq 选择两个列表中都存在的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913398/

相关文章:

java - java中将ResultSet转换为HashMap的List

c# - 创建 Entity Framework 模型时忽略数据库默认值

c# - 使用LINQ从逗号分隔的数组中获得独特的值(value)

c# - 将 List.foreach 替换为 LINQ

C# 查询 - 非静态方法需要目标

c - 在 C 中排序链表的问题

mongodb - 我如何订购列表并在 MongoDB 上为其项目添加位置?

c# - 使用 JavaScriptSerializer(等效于 JSON.PARSE)创建自构造对象

c# - 在 ASP.NET IIS 托管的 WCF 应用程序中偶尔调用需要 5 秒

c# - C#中严格的字符串到字节编码