使用lambda从列表的另一个属性填充列表的属性?

Tou*_*ubi 5 c# linq lambda

我有一个List<BidResult> bidresults填充数据的列表 .BidResult课程如下:

public class BidResult
{        
    public virtual int BidResultId { get; set; }
    public virtual string ProductName { get; set; }            
}
Run Code Online (Sandbox Code Playgroud)

我有另一个List<Rating> ratings空列表,其属性如下:

public class Rating
{
    public virtual int RatingId { get; set; }            
    public virtual int BidResultId { get; set; }    

}
Run Code Online (Sandbox Code Playgroud)

我需要BidResultId使用1st list's 填充第二个列表的属性BidResultId.我知道可以使用循环来完成.但我最好使用Lambda.

编辑:

我试过以下:

 List<Rating> ratings = bidResults.Select(bidResult => new Rating {RatingId = bidResult.BidResultId}).ToList();
Run Code Online (Sandbox Code Playgroud)

但我不能够访问BidResultIdbidResult.

请注意bidResult是一个强类型列表.添加一个.在bidResult之后显示lambda函数,如select,foreach,single等.

Ram*_*kar 3

尝试这个-

   List<Rating> ratings = bidResults.Select(bidResult => new Rating {RatingId = bidResult.BidResultId}).ToList();
Run Code Online (Sandbox Code Playgroud)

更新1:

   List<BidResult> bidResults = new List<BidResult>();
   bidResults.Add(new BidResult{BidResultId = 1,ProductName = "Product 1"});
   bidResults.Add(new BidResult { BidResultId = 2, ProductName = "Product 2" });
   bidResults.Add(new BidResult { BidResultId = 3, ProductName = "Product 3" });
   List<Rating> ratings = bidResults.Select(tempResult => new Rating { BidResultId = tempResult.BidResultId }).ToList();
Run Code Online (Sandbox Code Playgroud)