代码之家  ›  专栏  ›  技术社区  ›  Xami Yen

使用Lambda表达式从集合中选择多个值

  •  1
  • Xami Yen  · 技术社区  · 7 年前

    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)来创建产品列表的子集。我如何做到这一点?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Selman Genç    7 年前

    所以你可以用 Select

    var pdl = pds.Select(p => new Product 
                                  { 
                                      desc = p.Description, 
                                      prodId = Convert.ToInt16(p.pId)
                                  }).ToList();