使用 linq 将列表附加到 select 方法中的列表

Using linq to append list to list from select method

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

有没有办法在项目上使用 Select 子句或其他东西,我可以在其中使用外部方法 returns 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 技巧,可能会产生一个列表。

您可以使用 SelectMany:

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