2008-10-28 32 views
10

public class Öğe { ... }IEnumerable <IEnumerable <T>'den IEnumerable <T> alın

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

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

Şimdi, LINQ kullanarak bir müşterinin aldığı tüm öğeleri almam gerekiyor. Nasıl yapabilirim

var items = from o in cust.Orders select o.Items; gibi bir şey denedim ama sonuç IEnuberable<List<Item>> ve sadece bir IEnumerable<Item> istiyorum.

Burada 2 döngüyü kodlamaktan kaçınmaya çalışıyorum.

cevap

20

Sen from hükümler ikinci (ve sonraki) olarak sorgu ifadelerde temsil edildiği, SelectMany ihtiyaç

var items = customer.Orders.SelectMany(order => order.Items); 
+2

SelectMany güzel! :-) –

İlgili konular