0

我有一个集合 A,比如说 100 个项目。从该列表中,我想执行一个 where 子句,它可以排除 20 个项目。

有没有办法在项目上使用 Select 子句或其他东西,我可以使用返回 2 个项目的外部方法。

我最终需要从原始列表中获得 160 个对象。

我目前拥有的是

public List<A> ToAList(B item)
{ 
   return new List<A> {new A(), new A()}; 
}

如果我打这个电话

originalList.Where(x => true).Select(y => ToAList(y)).ToList();

我最终得到了一个包含 80 个(来自伪示例)两项 A 列表的列表,而不是包含 160 个对象 A 的列表。

我正在寻找一种避免循环的方法。只是简单的 Select 或 AddRange 技巧,可能会导致一个列表。

4

1 回答 1

2

您可以使用SelectMany

originalList.Where(x => true).SelectMany(y => ToAList(y)).ToList();
于 2018-09-25T13:07:07.677 回答