C# 使用Lambda表达式从集合中选择多个值
如何使用单个lambda表达式从集合中选择两个或多个值到列表中?以下是我正在尝试的:C# 使用Lambda表达式从集合中选择多个值,c#,.net,lambda,C#,.net,Lambda,如何使用单个lambda表达式从集合中选择两个或多个值到列表中?以下是我正在尝试的: List<Prodcut> pds=GetProducts(); List<Product> pdl = new List<Product>(); foreach (Product item in pds) { pdl.Add(new Product { desc = item.Description, prodId = Con
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)
});
}
List pds=GetProducts();
List pdl=新列表();
foreach(pds中的产品项)
{
pdl.Add(新产品)
{
desc=项目描述,
prodId=Convert.ToInt16(item.pId)
});
}
GetProducts()返回具有许多(大约21个)属性的产品列表。上面的代码完成了这项工作,但我正试图通过使用单个lambda表达式提取两个产品属性(description和productId)来创建产品列表的子集。如何实现这一点?你想做的就是投射,你想投射每一项,然后把它们变成其他东西 因此,您可以使用:
你想做的就是投射,你想投射每一个项目,然后把它们变成其他的东西 因此,您可以使用:
简单而完美!简单而完美!
var pdl = pds.Select(p => new Product
{
desc = p.Description,
prodId = Convert.ToInt16(p.pId)
}).ToList();