我有一个如下所列的数据结构。如何让孩子的孩子符合标准?
我有一份包含儿童名单的成人名单。
使用上述数据结构,我如何获得所有12岁的孩子?
这就是我尝试过的,而不是我需要的东西。
Adults.Where(Function(adult) adult.Children.Any(Function(child) child.age= 12))
答案 0 :(得分:4)
要“压平”IEnumerable的IEnumebles,请使用SelectMany:
Dim children = Adults.SelectMany(Function(a) a.Children).Where(Function(c) c.Age = 12)
这在LINQ语法中是隐含的:
Dim children = from adult in Adults
from child in adult.Children
where child.Age = 12
select child
答案 1 :(得分:2)
您没有描述您的课程,但假设成年人有Children
属性,您可以使用以下内容:
Dim twelveYearOlds = adults.SelectMany(
Function(adult) adult.Children
).Where(
Function(child) child.Age = 12
)
SelectMany
为您提供了所有成年人的所有孩子以及列入12岁儿童的过滤器的列表。