首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择包含特定子元素的对象

选择包含特定子元素的对象
EN

Stack Overflow用户
提问于 2017-06-02 00:22:09
回答 4查看 67关注 0票数 0

我有以下课程。

代码语言:javascript
运行
复制
public class Bin
{
    public int BinId { get; set; }
    public IEnumerable<Component> Components { get; set; }
}

public class Component 
{
    public int ComponentId { get; set; }
    public string ComponentName { get; set; }
}

如何使用LINQ找到所有包含特定组件集的Bin对象,比如ID 1、2、3的组件?

编辑

为了澄清所有ID必须出现在一个Bin中。另外,我有一个包含要匹配的ID的集合。

EN

Stack Overflow用户

发布于 2017-06-02 00:31:10

代码语言:javascript
运行
复制
bins.Where(x => x.Components.Any(y  => y.ComponentId ==1 || y.ComponentId == 2 || y.ComponentId == 3))

试试这个。

如果您有整数列表,那么您可以修改最后一个条件,如下所示。

代码语言:javascript
运行
复制
y => list.Any(z => y.ComponentId == z)

或者类似这样的东西。

代码语言:javascript
运行
复制
y => list.Contains(y.ComponentId)

这些条件至少包含一个组件id。如果要包含所有组件ids,可以使用All方法而不是Any方法。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44318998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档