使用LINQ将单个列表中的List对象添加到新列表

时间:2014-03-31 06:21:58

标签: c# linq

我有一个列表集合,看起来像

myList[0].innerList[0 to 50]
myList[1].innerList[51  to 100]
myList[2].innerList[101 to 120]

myList可以按照大小进行,最多内部列表中有50个对象。我将innerList作为API的响应,其中页面大小设置为50。

我希望我的新列表将所有这些0 - 120个对象放在一个列表中,如

newList[0 to 120]

我正在尝试像这样使用LINQ

var newList = from reg in myList
           select reg.innerList.ToList();

但是我得到了

newList[0].[0 to 50]
newList[1].[51 to 100]

任何人都可以帮助我使用LINQ吗?

2 个答案:

答案 0 :(得分:3)

认为SelectMany应该做到这一点。

var newList = myList.SelectMany(x => x.innerList);

答案 1 :(得分:1)

你快到了

var newList = (from reg in myList      // for each inner list
               from range in reg       // for each item in each inner list
               select range).ToList();