使用linq将列表追加到选择方法的列表中

时间:2018-09-25 13:01:16

标签: list linq addrange

我有一个集合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技巧可能会导致一个列表。

1 个答案:

答案 0 :(得分:2)

您可以使用SelectMany

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