10

パブリック クラス アイテム { ... }

public class Order
{
    public List<Item> Items
    ...
}

public class Customer
{
    public List<Order> Orders
    ...
}

ここで、LINQ を使用して、顧客が購入したすべてのアイテムを取得する必要があります。どうやって?

次のようなことを試しましvar items = from o in cust.Orders select o.Items;たが、結果はIEnuberable<List<Item>>1 つだけにしたいIEnumerable<Item>です。

ここで、2 つのループのコーディングを避けるように求めています。

4

1 に答える 1

20

が必要ですSelectMany。これは、クエリ式で 2 番目 (以降) のfrom句として表されます。

var items = from order in customer.Orders
            from item in order.Items
            select item;

または、クエリ式を無視するには:

var items = customer.Orders.SelectMany(order => order.Items);
于 2008-10-28T17:37:16.977 に答える