(对不起,如果标题误导。请随意编辑。)
直接举例:
public class A
{
public ObservableCollection<B> Bs;
public List<D> getSelectedDs()
{
return [Fill in this blank];
}
}
public class B
{
public C FirstC;
public C SecondC;
}
public class C
{
public ObservableCollection<D> Ds;
}
public class D
{
public bool IsSelected;
}
所以,我想得到所有D IsSelected==true
(来自Bs,FirstC和SecondC结果都加入了)。那么,如何填充A类中<Query here>
的{{1}}部分?
这是我到目前为止填写的空白:
getSelectedCs()
另外,我想用1个lambda句子来做(如果它使用2个句子,我可以做到。)
我应该在return Bs.
[Getting both FirstC and SecondC].
SelectMany(x=>x.Ds).
Where(x=>x.IsSelected);
写一下什么?
谢谢。
答案 0 :(得分:1)
public List<D> getSelectedDs()
{
return Bs.SelectMany(b => b.FirstC.Ds.Union(b.SecondC.Ds))
.Where(x => x.IsSelected).ToList();
}