c# - 使用 Lambda 表达式从另一个列表中选择一个列表
问题描述
这是我的课。
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>
使用标准循环方法我实现了我的目标,但我确信通过使用 lambda 表达式有一种更短更简洁的方法。关于我如何能够做到这一点的任何想法?我难住了。
解决方案
您正在寻找SelectMany
展平列表的列表。
public List<Product> SelectManyExample(List<Products> products)
{
return products.SelectMany(prds => prds.ProductList).ToList();
}
推荐阅读
- python - dispatch.yaml 在实践中是如何工作的
- android - 如何在 Android Q 上设置闹钟?
- python - 计算 PIL 中呈现的文本大小
- python - 将特定索引变成自己的行
- python - 基于两列识别两个 Pandas DataFrames 之间共享的行
- python - 使用 numba 并行生成任意长度的随机向量
- java - 将 JRadioButtons 与 derby 数据库一起使用
- mysql - MYSQL - 使用 IN 子句检索金额
- xamarin.android - 使用 StaggeredGridLayoutManager 时的小图像
- c - 如何使用多个处理器对 N 个数字求和?