c# - 使用 LINQ 从可枚举中收集元素

标签 c# linq

我正在尝试收集 IEnumerable<Item>从项目列表中。

这是我正在使用的代码:

IEnumerable<Project> projects;

List<Item> itemList = db.Items.ToList();
IEnumerable<Items> item = itemList.Where(i => i.ProjectID == /*the ID of each project from projects*/)

我也尝试过这条路线:IEnumerable<Items> item = from i in itemList where i.ProjectID == /*the ID of each project from projects*/ select i;

如何迭代每个项目以收集所有关联的项目?

最佳答案

IEnumerable<Items> item = from i in itemList
                          where projects.Any(p => p.ID == i.ProjectId)
                          select i;

或使用您的方法语法

IEnumerable<Items> item = itemList.Where(i => projects.Any(p => p.ID == i.ProjectID));

关于c# - 使用 LINQ 从可枚举中收集元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9839831/

相关文章:

C# 比较两个包含小写文本的 byte[] 数组

c# - 使用 Skip/Take 进行分页时 LINQ 查询性能极差

.NET 多层设计 LINQ

c# - 如何使用 LINQ 知道周期集合中是否存在任何重叠

c# - 如何在当前程序集中查找具有特定名称的 C# 接口(interface)的实现?

c# - UNITY3D:将玩家控制更改为目标模型(FPS)

c# - 如何实时刷新WPF Toolkit ColumnSeries Chart

c# - 自定义依赖属性绑定(bind)

c# - book TryGet(out X x) 模式的替代方案

c# - 无法在 LINQ 查询中将类型 'System.DateTime?' 隐式转换为 'System.DateTime'