不完全确定这个标题的好标题,随意将其编辑为好的标题
我有一个图像对象,其中包含与其相关的器官列表.
我要查询图像的列表,找到哪些具有所有器官的器官列表.
这是方法签名
public static IEnumerable<Image> WithOrgans(this IEnumerable<Image> qry, IEnumerable<Organ> organs)
Run Code Online (Sandbox Code Playgroud)
不太确定如何为此构建linq,会欣赏一些想法,我有一段时间没有做linq,所以我很生锈!
UPDATE
好的,这是一些示例数据
dictionary.Add(7, new Image { id = 7, organs = new List<Organ> { organA, organB }});
dictionary.Add(8, new Image { id = 8, organs = new List<Organ> { organA }});
dictionary.Add(9, new Image { id = 9, organs = new List<Organ> { organC }});
Run Code Online (Sandbox Code Playgroud)
Eri*_*lje 10
使用Intersect的另一种方法:
from i in qry
where i.Organs.Intersect(organs).Count == organs.Count
select i
Run Code Online (Sandbox Code Playgroud)
ETA:
从您的评论中,您提到您正在获取WhereListIterator.我相信WhereListIterator实现了IEnumerable,所以你得到了你应该得到的确切内容.
如果您发现结果不应该是空的,您可能需要检查以确保您的Image类正确实现了Equals()和GetHashCode(),以便可以有效地比较它们.
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |