我有以下课程。
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的集合。
发布于 2017-06-02 00:31:10
bins.Where(x => x.Components.Any(y => y.ComponentId ==1 || y.ComponentId == 2 || y.ComponentId == 3))试试这个。
如果您有整数列表,那么您可以修改最后一个条件,如下所示。
y => list.Any(z => y.ComponentId == z)或者类似这样的东西。
y => list.Contains(y.ComponentId)这些条件至少包含一个组件id。如果要包含所有组件ids,可以使用All方法而不是Any方法。
https://stackoverflow.com/questions/44318998
复制相似问题