문제

공개 수업 항목 {...}

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>> 그리고 나는 단지 하나를 원합니다 IEnumerable<Item>.

나는 여기서 2 루프를 코딩하지 않도록 요청하고 있습니다.

도움이 되었습니까?

해결책

당신은 필요합니다 SelectMany, 쿼리 표현식으로 두 번째 (및 후속)로 표시됩니다. from 조항:

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

또는 쿼리 표현식을 무시하려면 :

var items = customer.Orders.SelectMany(order => order.Items);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top