Использование linq для добавления списка в список из метода выбора - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть коллекция А, скажем, 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 голосов
/ 25 сентября 2018

Вы можете использовать SelectMany:

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