如何使用单个 lambda 表达式从集合中选择两个或多个值到列表中?这是我正在尝试的:
List<Prodcut> pds=GetProducts();
List<Product> pdl = new List<Product>();
foreach (Product item in pds)
{
pdl.Add(new Product
{
desc = item.Description,
prodId = Convert.ToInt16(item.pId)
});
}
GetProducts() 返回具有许多(大约 21 个)属性的产品列表。上面的代码完成了工作,但我试图通过使用单个 lambda 表达式仅提取两个产品属性(description 和 productId)来创建产品列表的子集。我该如何实现?
请您参考如下方法:
你想做的事情叫做投影,你想投影每个项目并将它们变成其他东西。
所以你可以使用 Select :
var pdl = pds.Select(p => new Product
{
desc = p.Description,
prodId = Convert.ToInt16(p.pId)
}).ToList();
