在LINQ中展开列表

我有一个LINQ查询返回IEnumerable<List<int>>但我只想返回List<int>所以我想合并我的IEnumerable<List<int>>所有logging到只有一个数组。

例如:

 IEnumerable<List<int>> iList = from number in (from no in Method() select no) select number; 

我想把所有我的结果IEnumerable<List<int>>只有一个List<int>

因此,从源数组:[1,2,3,4]和[5,6,7]

我只想要一个数组[1,2,3,4,5,6,7]

谢谢

尝试SelectMany()

 var result = iList.SelectMany( i => i ); 

使用查询语法:

 var values = from inner in outer from value in inner select value; 
 iList.SelectMany(x => x).ToArray() 

喜欢这个?

 var iList = Method().SelectMany(n => n); 

如果你有一个List<List<int>> k你可以做

 List<int> flatList= k.SelectMany( v => v).ToList();