2010-11-28 47 views
2

不能真正了解如何选择扩展方法与列表里面工作的另一个列表,像这样:嵌套列表,我如何使用lambda表达式来完成此操作?

var queries = (from item in list 
       from item2 in list.anotherlist 
       select item2).ToList<MyType>(); 

这是行不通的:

// Gives me a list of List<QueryResult> 
var queries = list.Select(item => item.anotherlist).ToList(); 

回答

5

的运营商的SelectMany应该做的伎俩 - 在这种情况下,它需要一个列表的列表,并压平它:

var queries = list.SelectMany(sublist => sublist).ToList(); 
+0

谢谢,工作。 – gremo 2010-11-28 03:43:59

0

使用的SelectMany

var queries = list.SelectMany(l => l.anotherList).ToList();