公共类项目{ ... }
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个循环。
发布于 2008-10-28 17:37:17
您需要SelectMany,它在查询表达式中表示为第二个(和后续) from子句:
var items = from order in customer.Orders
from item in order.Items
select item;或者,要忽略查询表达式,请执行以下操作:
var items = customer.Orders.SelectMany(order => order.Items);https://stackoverflow.com/questions/244135
复制相似问题