简单的LinQ问题:将[] []转换为[]

Max*_*huk 3 c# linq arrays

我想得到Item对象的集合或列表,但我现在得到数组的数组.

Item[][] s = employees.Select(e => e.Orders.Select(o => new Item(e.ID, o.ID)).ToArray()).ToArray();
Run Code Online (Sandbox Code Playgroud)

任何人都可以选择我的解决方案吗?

PS只是LinQ解决方案:)

Nic*_*sen 5

您需要使用SelectMany连接结果集.

var items = employees.SelectMany(e => e.Orders.Select(o => new Item(e.ID, o.ID)));
Run Code Online (Sandbox Code Playgroud)


Wil*_*den 5

对于它的价值,可以在LINQ语法中更简洁明了地写出来:

var s = from e in employees
        from o in e.Orders
        select new Item(e.ID, o.ID);
Run Code Online (Sandbox Code Playgroud)