收集<集合<人>&GT;收集<person>在一个linq语句中</personal> </collection <person>

时间:2012-04-22 09:34:48

标签: c# .net linq

我有List<List<Person>>我希望它将之前收藏中的所有人都复制到List<Person>集合。

我这样做了:

        var People = new List<List<Person>>{ new List<Person>{...},...  };
        var people = new List<Person>();
        People.ForEach(q => people.AddRange(q.People));
        return people;

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:8)

var allPersons = People.SelectMany(p => p);

答案 1 :(得分:8)

您应该使用SelectMany扩展名方法:

var people = People.SelectMany(p => p)