Выберите список из другого списка с помощью лямбда-выражения - PullRequest
0 голосов
/ 23 сентября 2018

Вот мои уроки.

public class Product{
    public decimal Price {get;set;}
    public string ProductName {get;set;}
}

public class Products{
    public int Count{get;set;}
    public List<Product> ProductList {get;set;}
}

List<Products> products=GetProducts(); 

GetProducts () возвращает список продуктов из базы данных.Свойство Count возвращает количество элементов в ProductList.Мне нужно извлечь все продукты в единый список типа List<Product> путем агрегирования всех продуктов, возвращаемых функцией GetProducts () типа List<Products>

С использованием стандартного метода зацикливания я достиг своей цели, но я уверенесть более короткий и лаконичный способ сделать это с помощью лямбда-выражений.Любые идеи о том, как я мог бы сделать это?Я в тупике.

1 Ответ

0 голосов
/ 23 сентября 2018

Вы ищете SelectMany, чтобы сгладить список списков.

public List<Product> SelectManyExample(List<Products> products)
{
    return products.SelectMany(prds => prds.ProductList).ToList();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...