我想得到Item对象的集合或列表,但我现在得到了数组数组。
Item[][] s = employees.Select(e => e.Orders.Select(o => new Item(e.ID, o.ID)).ToArray()).ToArray();
任何人都可以选择我的解决方案吗?
P.S。只是LinQ解决方案:)
答案 0 :(得分:5)
您需要使用SelectMany
来连接结果集。
var items = employees.SelectMany(e => e.Orders.Select(o => new Item(e.ID, o.ID)));
答案 1 :(得分:5)
对于它的价值,可以用LINQ语法更简洁明了地写出来:
var s = from e in employees
from o in e.Orders
select new Item(e.ID, o.ID);
答案 2 :(得分:3)
您正在寻找的扩展方法称为“SelectMany”:http://msdn.microsoft.com/en-en/library/system.linq.enumerable.selectmany.aspx
答案 3 :(得分:3)
查看Enumerables.SelectMany()
,请参阅this Stack Overflow question中的示例。