LINQ查询此方案

时间:2014-04-01 19:25:51

标签: c# linq c#-4.0 ienumerable ilist

我有这两个接口:

public interface IShipment
{
    IEnumerable<IShippedItem> Contents { get; }
    string InvoiceNumber { get; }
}

public interface IShippedItem
{
    string ProductCode { get; }
    int Quantity { get; }
}

现在,我正在尝试编写LINQ语句,以便为我提供ProductCode列表。

如何解决这个问题?

IEnumerable<IShipment> shipments = GetShipments();
var productCodeList = from shipment in shipment
                      ???????

2 个答案:

答案 0 :(得分:5)

您可以使用SelectMany展平您的内容,然后使用Select并获取每个ProductCode的{​​{1}}。

IShippedItem

答案 1 :(得分:-2)

我的错,我提前提交,这里是:

from shipment in shipments 
from shippedItem in shipment.Contents  
select shippedItem.ProductCode