根据where条件从列表中选择多个对象

时间:2016-01-15 11:46:58

标签: c# .net linq

我有一个PriceDetails类型列表(如下所示)。我还有一个列表,它可以包含多个具有相同ISIN的PriceDetails对象。对于给定的ISIN,我想用ISIN选择所有PriceDetails对象。

我认为下面的内容会起作用,但它甚至无法编译。

class PriceDetails
{
     string ISIN;
     string Sedol;
     double Price;
     string Source;
}

代码

    List<PriceDetails> secPrices = (from p in pList
                                    where p.ISIN == someISIN
                                    select secPrices).ToList(); 

错误消息

Cannot implicitly convert type System.Collections.Generic.List<System.Collections.Generic.List<MyProg.PriceDetails> to System.Collections.Generic.List<MyProg.PriceDetails>

2 个答案:

答案 0 :(得分:4)

您需要选择p而不是secPrices

List<PriceDetails> secPrices = (from p in pList
                                where p.ISIN == someISIN
                                select p).ToList(); 

答案 1 :(得分:2)

您的选择错误,请尝试:

 var secPrices = (from p in pList
                                    where p.ISIN == someISIN
                                    select p).ToList();